Node.JS 模拟 1000/+ 客户端连接的客户端应用




我正在尝试制作一个基于控制台的节点.js应用程序,该应用程序模拟 1000/+ 客户端连接到基于现有节点.js的 TCP 服务器应用程序。

更新: 使用此代码的当前版本^,我在以下位置收到错误TypeError: cannot call method 'write' of undefinedconnx[connNos].Write(str)。我想我将不得不重新思考/重写这段代码;欢迎任何指示。

到目前为止,这就是我想出的,但这并不像暗示的那样起作用:

var net = require('net');
var HOST = '127.0.0.1';
var PORT = 7000;
var timeout = 30000;
var connx = [];
for(var connNos = 0; connNos < 10; connNos++){
    connx[connNos] = net.createConnection(PORT,HOST);
    //connx.push(connx[connNos]);
    connx[connNos].on('connect', function(err){
        console.log('Client: Connected');
    });
    connx[connNos].on('error', function(data){
        console.log('>> ' + data);
    });
    connx[connNos].on('close', function(){
        console.log('Client: Conn Closed');
        process.exit();
    });
    process.stdin.on('data', function(data){
        console.log('sending data..');
        //connection.write(data);
        var str = "486229^4049^1018436^D^2013-04-01 00:02:09^22.715939100^88.374148220^27238^0^308^0^192.168.1.1^1^2013-04-01 19:49:04";
        connx[connNos].write(str);
        //connection.end();
    });
    process.stdin.resume();
}

任何帮助将不胜感激TIA :D

来自文档

net.createConnection(options, [connectionListener])# 构造一个新的套接字对象,并将套接字打开到给定位置。建立套接字后,将发出"连接"事件。

对于 TCP 套接字,options 参数应该是一个指定以下内容的对象

端口

:客户端应连接到的端口(必需)。 主机:客户端应连接到的主机。默认为"本地主机"。 localAddress:要绑定到的网络连接本地接口。

对于 UNIX 域套接字,options 参数应该是一个指定以下内容的对象

路径

:客户端应连接到的路径(必需)。

我想

connx[connNos] = net.createConnection(PORT,HOST);

应该是

connx[connNos] = net.createConnection({port:PORT,host: HOST});

认为异步,很可能的原因是当你调用socket.write套接字连接时没有建立。您应该在调用之前检查连接,或者您可以将代码放入连接侦听器中。

最新更新