我在服务端采用了一个列表userslist来保存用户列表,usersnum来记录在线用户数目。
连接的用户的username保存在html中。
服务端
#列表更新:用户退出 @socketio.on('disconnect', namespace='/chat') def disconnect(message): if(message['name'] in userslist): global usersnum usersnum=usersnum-1 userslist.remove(message['name']) emit('connected',{'name':message['name']},broadcast=True)#退出信息 theList=json.dumps(userslist) emit('listupdate',theList,broadcast=True)#列表更新
浏览器端
/*发送退出消息*/ socket.on('disconnect',function(msg){ socket.emit('connecting', { name: $('#usernameID').html() }); })
但是无法成功,我猜想是因为关闭页面时触发的disconnect无法获取到html中的内容。
请问如何解决这个用户列表更新的问题?
正常情况关闭浏览器,应该能监听到disconnect事件,监听不到disconnect事件的情况,有可能是对方网络突然掉线了.