-
Notifications
You must be signed in to change notification settings - Fork 329
第六章 用户下线
nswbmw edited this page Sep 11, 2013
·
3 revisions
现在,我们来给聊天室添加用户下线提醒。用户下线流程图如下:
对应代码修改如下:
打开 app.js ,在 socket.on('say')
函数下面添加如下代码:
//有人下线
socket.on('disconnect', function() {
//若 users 对象中保存了该用户名
if (users[socket.name]) {
//从 users 对象中删除该用户名
delete users[socket.name];
//向其他所有用户广播该用户下线信息
socket.broadcast.emit('offline', {users: users, user: socket.name});
}
});
打开 chat.js ,在 socket.on('say')
下面添加如下代码:
socket.on('offline', function (data) {
//显示系统消息
var sys = '<div style="color:#f00">系统(' + now() + '):' + '用户 ' + data.user + ' 下线了!</div>';
$("#contents").append(sys + "<br/>");
//刷新用户在线列表
flushUsers(data.users);
//如果正对某人聊天,该人却下线了
if (data.user == to) {
to = "all";
}
//显示正在对谁说话
showSayTo();
});
现在,我们给聊天室添加了用户下线提醒。