我想知道是否有任何方法可以将 socket.io 套接字传递给 node.js 中的分叉进程,或者在分叉进程中重建 socket.io 套接字?
child = require("child_process").fork("worker.js")
io.sockets.on("connection", function(socket){
child.send("socket", socket); //this definitely fails now
})
我相信你会很高兴知道socket.io-redis的存在
有了它,您将能够在代码的多个实例(进程或服务器)之间发送/接收事件(共享客户端)。阅读更多:socket.io-redis (Github Repo.)
有了这个,你可以扩展:
这是一个非常简单的 Node.JS 客户端/服务器应用程序,展示了如何一起设置 Express.js、Socket.IO 1.x 和 socket.io-redis。
这对于了解如何扩展需要多个服务器进程的 Socket.IO 实时应用程序非常有用。Redis 用作存储点(适配器),以便在不同的进程或服务器中运行多个 socket.io 实例,这些实例都可以相互广播和发送事件。