用Socket.io实现当用户关闭页面时更新其他用户的用户列表?

我在服务端采用了一个列表userslist来保存用户列表,usersnum来记录在线用户数目。
连接的用户的username保存在html中。

服务端

#列表更新:用户退出
@socketio.ondisconnect, namespace=/chat
def disconnectmessage: ifmessage[name] in userslist: global usersnum usersnum=usersnum-1 userslist.removemessage[name] emitconnected,{name:message[name]},broadcast=True#退出信息 theList=json.dumpsuserslist emitlistupdate,theList,broadcast=True#列表更新

浏览器端

/*发送退出消息*/
socket.ondisconnect,functionmsg{ socket.emitconnecting, { name: $#usernameID.html };
}

但是无法成功,我猜想是因为关闭页面时触发的disconnect无法获取到html中的内容。
请问如何解决这个用户列表更新的问题?

正常情况关闭浏览器,应该能监听到disconnect事件,监听不到disconnect事件的情况,有可能是对方网络突然掉线了.

发表评论

电子邮件地址不会被公开。 必填项已用*标注