【发布时间】:2014-05-30 21:08:08
【问题描述】:
我的实时聊天应用程序基于Sails 和SocketIO。它显示所有用户以及可用的在线用户。当用户登录时,会发出 UserConnected 套接字,当用户断开连接时,会发出 UserDisconnected 套接字被发射, 我在 config/sockets.js 中的服务器端 socketio 代码是
onConnect: function(session, socket) {
if (session.passport) {
if (session.passport.user && socket.id) {
sails.io.sockets.emit('UserConnected', {userID : session.passport.user}); }
}
}
//// By default: do nothing
//// This is a good place to broadcast a disconnect message, or any other custom socket.io logic
},
onDisconnect: function(session, socket) {
if (session.passport) {
if (session.passport.user && socket.id) {
sails.io.sockets.emit('UserDisconnected', {userID : session.passport.user});
}
}
//// By default: do nothing
//// This is a good place to broadcast a disconnect message, or any other custom socket.io logic
}
问题是当用户刷新页面时,它显示与另一个用户连接和断开连接,一个主要问题是如果一个用户登录两个不同的浏览器并且如果任何一个浏览器关闭,则显示用户与其他用户断开连接但用户实际上在另一个浏览器中可用。
我将如何修改/编码以便修复这些问题?
提前致谢
【问题讨论】:
标签: javascript node.js socket.io chat sails.js