如何判断聊天室里的用户已经离开?
聊天室用户离开时,如果点离开,可以在对用户执行remove操作 ,但是如果点X关闭浏览器无法记录用户离开。我见过许多聊天室,用户离开立刻就能提示离开信息,这个是怎么做到的?请知道的朋友告诉一声,谢谢!
------解决方案--------------------关闭时触发函数就行了吧
要不就轮询
------解决方案--------------------关闭不准。比如用户突然掉电,不会触发这些东西的。
轮询就是客户端每隔几秒发一个信息到服务器,
服务器就能判断这个用户在线。
当用户离开后,几秒就能判断他已经离开,这时候修改一下数据库,
别人查询的时候就能知道了
可能要用到ajax frameworks
http://www.jopener.cn/category/ajax-frameworks/
------解决方案--------------------session监听器可以作到
------解决方案--------------------如果是关闭了浏览器,会给浏览器一个事件:onbeforeunload,可以在这里捕获到用户操作。
对于突然断电,只能用轮训的方式来做了。
------解决方案--------------------Session监听嘛,没什么好解释的,java提供了很灵活的事件机制来监听session,可以监听session的创建和销毁,监控session所携带数据的创建、变化和销毁,可以监听session的锐化和钝化(了解对象序列化的兄弟应该知道这个),其他的平台是个什么情况我不太清楚,估计也差不多吧。如果能够对所有客户的session进行监控,
------解决方案--------------------这个 问题 其实我也想了很长时间了
在blog里有我的一篇关于这方面问题的文章
在线统计人员 有兴趣大家可以看看啊
用户的离开是很好判断 就是看你需要的精确程度是多少 例如 1s ,2s 或者是 10分钟
半个小时 ....