cometd bayeux:在页面卸载时正确处理用户断开连接
当前设置:带有jQuery Comed插件的Comed servlet 假设我有一个简单的聊天室,目前有两个用户(userA和userB)连接到它。当userB离开页面时,我需要通知userA userB已经离开了房间。有没有办法让userA知道userB离开时没有使用cometd bayeux:在页面卸载时正确处理用户断开连接,cometd,Cometd,当前设置:带有jQuery Comed插件的Comed servlet 假设我有一个简单的聊天室,目前有两个用户(userA和userB)连接到它。当userB离开页面时,我需要通知userA userB已经离开了房间。有没有办法让userA知道userB离开时没有使用unload处理程序 $(窗口).unload(函数(){ /**让我们通知其他用户currentUserId已离开**/ })) 经过大量试验后,;上述代码块不可靠 我能想到的唯一解决方案是使用setInterval,每1分钟,
unload
处理程序
$(窗口).unload(函数(){/**让我们通知其他用户currentUserId已离开**/ })) 经过大量试验后,;上述代码块不可靠 我能想到的唯一解决方案是使用setInterval,每1分钟,管理员将循环通过一组连接的用户,然后“ping”它们以检查它们是否仍然连接
有什么想法吗?我应该使用setInterval轮询技术吗?对于对此感兴趣的人 当服务器使用户会话过期时,可以注册“removeListener”方法
client.addListener(new ServerSession.RemoveListener() {
public void removed(ServerSession session, boolean timeout){
members.values().remove(session.getId());
broadcastMembers(members.keySet());
}
});
完整代码示例:
是的,我知道这个问题很老,但为什么不简单地使用PresenceListener?你好,ryan。我也遇到了同样的问题,奇怪的是Comet库一开始并没有解决这个问题。你找到答案了吗?这将对我很有帮助。谢谢你,我刚刚给这篇文章添加了一个答案。希望对您有所帮助!