python - 用Socket.io实现当用户关闭页面时更新其他用户的用户列表?
巴扎黑
巴扎黑 2017-04-17 16:44:24
0
1
699

我在服务端采用了一个列表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中的内容。
请问如何解决这个用户列表更新的问题?

巴扎黑
巴扎黑

全員に返信(1)
伊谢尔伦

通常、ブラウザを閉じれば切断イベントを検出できるはずですが、切断イベントを検出できない場合は、相手のネットワークが突然オフラインになった可能性があります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート