node.js将socket.io套接字传递给分叉进程

node.js将socket.io套接字传递给分叉进程,node.js,socket.io,Node.js,Socket.io,我想知道是否有任何方法可以将socket.io套接字传递给node.js中的forked进程,或者在forked进程中重建socket.io套接字 child = require("child_process").fork("worker.js") io.sockets.on("connection", function(socket){ child.send("socket", socket); //this definitely fails now }) 解决方案:使用Redis

我想知道是否有任何方法可以将socket.io套接字传递给node.js中的forked进程,或者在forked进程中重建socket.io套接字

child = require("child_process").fork("worker.js")
io.sockets.on("connection", function(socket){
    child.send("socket", socket); //this definitely fails now
})
解决方案:使用Redis 我相信你会很高兴知道socket.io redis的存在

使用它,您将能够在多个代码实例(进程或服务器)之间发送/接收事件(共享客户端)

通过此功能,您可以缩放:

  • 垂直(增加每台机器的线程数)
  • 水平方向 (部署更多的“主机”和更多的机器)
  • 这是一个非常简单的Node.JS客户机/服务器应用程序,显示 如何同时设置Express.js、Socket.IO 1.x和Socket.IO-redis

    这是非常有用的,可以作为了解如何扩展的起点 需要多个服务器进程的Socket.IO实时应用程序。 Redis用作存储点(适配器),以便运行多个 不同进程或服务器中的socket.io实例可以 相互广播和发射事件


    “集群”模块怎么样?如果你想要集群。您可以使用集群模块执行fork操作