当前设置:带有jQuery cometd插件的cometD servlet。
假设我有一个简单的聊天室,目前有2个用户(userA和userB)连接到它。当userB导航离开页面时,我需要userA通知userB已经离开了房间。有没有办法让userA知道userB离开而不使用unload
处理程序?
$(窗口).unload(函数(){
/ **让我们通知其他用户currentUserId离开** /});
经过大量测试后;上面的代码块不可靠。
我能想到的唯一解决方案是使用setInterval,每隔1分钟,管理员将遍历一个连接用户数组,然后“ping”它们以检查它们是否仍然连接。
有什么想法吗?我应该使用setInterval轮询技术吗?
答案 0 :(得分:2)
对于有兴趣的人。
当服务器使用户的会话失效时,您可以注册“removeListener”方法。
client.addListener(new ServerSession.RemoveListener() {
public void removed(ServerSession session, boolean timeout){
members.values().remove(session.getId());
broadcastMembers(members.keySet());
}
});
答案 1 :(得分:0)
是的我知道这个问题已经过时了,但为什么不简单地使用PresenceListener?