我是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)