小编str*_*sim的帖子

socket.io的可扩展架构

我是socket.io和Node JS的新手,我正在尝试构建一个具有大量同时套接字连接(10,000+)的可伸缩应用程序.

目前,我开始使用我的服务器创建子进程的模型,并且每个子进程都侦听附加了sicket.io实例的特定端口.客户端连接后,将重定向到特定端口.

最大的问题是:在多个端口上有多个socket.io实例会增加可能的连接数吗?

这是我的代码,以防万一:

服务器

var server = http.createServer(app);

server.childList = [];
for (var i = 0; i < app.portList.length; i++) {
  server.childList[i] = require('child_process').fork('child.js');
}

server.listen(3443, () => {
  for (var i = 0; i < app.portList.length; i++) {
    server.childList[i].send({ message: 'createServer', port: app.portList[i] });;
  }
});
Run Code Online (Sandbox Code Playgroud)

child.js:

var app = require('./app');
var http = require('http');
var socket_io        = require( "socket.io" );

process.on('message', (m) => {
    if (m.message === 'createServer') {

        var childServ = http.createServer(app);

        childServ.listen(m.port, () => …
Run Code Online (Sandbox Code Playgroud)

sockets process node.js socket.io

8
推荐指数
1
解决办法
7426
查看次数

标签 统计

node.js ×1

process ×1

socket.io ×1

sockets ×1