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

标签 javascript node.js websocket

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

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

最佳答案

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

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 在父进程和子进程之间发送消息

关于javascript - 在单个应用程序中打开多个 websocket 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40864605/

相关文章:

javascript - 根据 <select> 标记中的值显示特定的 <div>

javascript - 将 Google map JavaScript 库与 cordova 结合使用

javascript - 在 ExtJS 中,使用 DataView,如何检测按下的键?

javascript - 在 Chrome 中正确设置和查询背景颜色(来自 Javascript)

node.js - Node 加密 aes256-cbc 0x0 填充示例

javascript - 字符串原型(prototype)在浏览器中有效,但在 Node 中无效

node.js - Visual Studio 2015 社区版,打开文件夹丢失

node.js - WebSocket 代理在 Node.js 和 Angular 上失败。意外响应代码 : 404

java - 我是否必须写入套接字才能让服务器向我发送响应以读取某些服务的横幅?

postgresql - 带有免费 RDMBS(PostgreSQL、SQLite 等)但没有 JavaScript 生态系统的 WebSocket