在单个应用程序中打开多个 websocket 连接
Posted
技术标签:
【中文标题】在单个应用程序中打开多个 websocket 连接【英文标题】:Opening multiple websocket connections in single app 【发布时间】:2016-11-29 11:19:47 【问题描述】:我需要对我们的 websocket 服务进行负载测试。 有没有办法从单个工作站打开多个 websocket 连接?
我已经尝试使用 npm ws
和 websocket
modules 来使用 NodeJS 启动它们。它适用于单个连接,但是当我尝试在 for 循环中打开它们时,它会引发异常或仅使用最后一个打开的客户端。
【问题讨论】:
【参考方案1】:如果您想从单个工作站执行此操作,您可以使用子进程:
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 在父子进程之间发送消息
【讨论】:
谢谢!这对我有帮助。 npm websocket 也终于成功了!以上是关于在单个应用程序中打开多个 websocket 连接的主要内容,如果未能解决你的问题,请参考以下文章