我们正在节点js项目中通过socket.io实现聊天和其他通知。
我们需要保留用户 - >套接字映射。
为此,我们在app.js中声明了全局变量
global.user_sockets = {};
并在令牌认证后创建新连接时在user_sockets数组中分配userid,套接字映射。
user_sockets[data.userId]=socket;
对于使用全局变量,有很多猜测。一些用户表示,使用多个流程时效果不佳。
其他任何解决方案?
答案 0 :(得分:0)
您可以将user_sockets
作为参数传递给您正在使用的函数而不是全局变量。但这会使参数数量增加1,我认为这不是问题。