在单个应用程序中打开多个websocket连接

时间:2016-11-29 11:19:47

标签: javascript node.js websocket

我需要对我们的websocket服务执行负载测试。 有没有办法从一个工作站打开多个websocket连接?

我已经尝试过npm wswebsocket模块来使用NodeJS启动它们。它可以通过单个连接正常工作,但是当我尝试在for循环中打开它时,它会抛出异常或仅使用最后一个打开的客户端。

1 个答案:

答案 0 :(得分:2)

如果您想从单个工作站执行此操作,则可以使用子进程:

app.js:

var cp = require('child_process');
var children = [];
var max = 10; // tweak this to whatever you want
for(var i = 0; i<max; i++){
    children[i] = cp.fork('./child.js');
    .on('error', function(e) {
        console.log(e);
    }).on('message',function(m){
        console.log(m)
    }).on('exit', function(code) {
      console.log('exit with code',code);
    });
}

然后在child.js中,只需要一个启动连接的脚本。您还可以使用子进程API

在父级和子级之间发送消息