如何将用户名从php会话存储到nodejs中的socket.io库和套接字连接断开页面refresh.Why?

我正在为我的web作业portal.I用于保存用户的名称从php会话到nodejs套接字io库的聊天应用程序..我很困惑..它可以存储10k用户在套接字object.if是那么如何维护那个用户列表? 另一个问题是,当用户从一个页面导航到另一个.socket断开连接,并再次连接..它影响我的应用程序性能或nodejs服务器执行?

请指导我通过教程或博客..我还没有find相关的文档,但有关套接字连接pipe理..预先感谢!

您可以将数据存储到socket 。 例如,

在服务器端,像这样使用,

  var socketIo = require('/socket.io').listen(8080); var usernames=[]; socketIo.sockets.on('connection', function (socket) { socket.on('storeUserData', function (data) { var userInfo = new Object(); userInfo.userName = data.userName; userInfo.SocketId = socket.id; usernames.push(userInfo); }); socket.on('disconnect', function (data) { var len = usernames.length; for(var i=0; i<len; i++){ var user = usernames[i]; if(user.socketId == socket.id){ usernames.splice(i,1); break; } } }); }); 

在客户端,你需要添加这个

 <script> var userName = <?php echo $_SESSION['userName'] ?>; var socket = io.connect('http://localhost', {port: 8080}); socket.on('connect', function (data) { socket.emit('storeUserData', { 'userName' : userName }); }); </script> 

套接字连接断开页面刷新。为什么?

这是socket.io默认行为。