sca*_*les 4 scalability redis node.js socket.io
我试图通过从保存所有数据的常规数据结构切换到使用 redis 和集群来扩展我的 socket.io 应用程序。但是,我遇到了一些问题,因为在当前实现的某个时刻,我将套接字对象以及其他属性存储在该数据结构中,data[socket.id].socket = socket因为在我的应用程序中有时我需要data[someId].socket.disconnect()手动断开套接字。
我知道我无法将对象直接存储到redis中,所以我尝试使用JSON.stringify(socket)但没有成功,因为socket是循环的。是否有另一种方法仅使用 来断开套接字id?这样我就可以id像这样存储data[socket.id].id = socket.id,也许可以称之为类似data[someId].id.disconnect()的东西。所以基本上我正在寻找一种方法来断开套接字,而无需访问实际的套接字对象(我确实可以访问该io对象)。
感谢大家的帮助。
似乎这已经完成了,但没有在任何地方记录...io.sockets.clients(someId)获取套接字对象,无论它被调用哪个实例,所以唯一需要的是使用io.sockets.clients(someId).disconnect()并实际断开客户端,无论它连接的实例如何到。我将它们存储在我自己的数组中,但实际上并不需要。
| 归档时间: |
|
| 查看次数: |
3497 次 |
| 最近记录: |