SocketIO检测断开连接



我最近一直在nodejs中尝试socketio。我知道这个问题已经被问过了,但我想说得更具体些,至少我很担心。

基本上,我的问题是,我已经创建了一个实时实时聊天,并能够确定是否有人加入,但仅限于此。我想要的是能够检测到注销的特定用户。我所说的注销是指关闭窗口(因为我没有使用用户名或密码等实际凭据进行任何登录或注销(。

以下是我的chat.js:示例代码

// Listen for Events
socket.on('chat', function(data){
feedback.innerHTML = "";
output.innerHTML += '<p><strong>' + data.handle + ': </strong><br/>' + data.message + '</p>';
});
socket.on('typing', function(data){
feedback.innerHTML = '<p><em>' + data + ' is typing a message...</em></p>';
});
socket.on('user joined', function(data){
output.innerHTML += '<p><strong>' + data.username + ' joined! ' + '@' + data.time + '</strong></p><br/>';
});

下面是我的index.js:代码

socket.on('chat', function(data){
data.handle = '(' + (!userName ? (ipAdd + noUser) : userName) + ') ' + data.handle + ' @' + userDate;
io.sockets.emit('chat', data);
});
socket.on('typing', function(data){     
socket.broadcast.emit('typing', data);
}); 
socket.broadcast.emit('user joined', {
username: (!userName ? (ipAdd + noUser) : userName),
time: userDate
});

如果你对我的设置有点困惑,我用这个链接作为参考:https://www.youtube.com/watch?v=vQjiN8Qgs3c

请参阅我提供的链接的教程1到5。

感谢

正如Li357所回答的(请他对我上面的问题发表评论(,事件断开连接将允许您实时检测谁断开了连接。

最新更新