怎样解决用户在其他机器上登录会提示“用户已经在其他机器上登录”?

qianhong 2004-03-18 10:34:41
必须解决用户直接关闭浏览器的情况~。
请高手指教
...全文
248 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qianhong 2004-03-19
  • 打赏
  • 举报
回复
一般的解决方法是什么呢?
廖雪峰 2004-03-19
  • 打赏
  • 举报
回复
如果在用户关闭浏览器时在servlet端将会话注销,这个方案决不可行。
用户关闭浏览器,断开网络,死机等情况下,servlet都不能获得“用户已断开”的通知。
记载用户打开网页数更不可取,你根本不知道用户会点链接到其他网站。

所以你这个功能最好不要实现。

如果一定要实现,只能内嵌一个隐藏的iframe,定期刷新,如30秒,服务器如果在指定时间内收不到请求,就认为用户已断开连接。可解决死机等问题。

但此方法要耗费大量的服务器资源
qianhong 2004-03-19
  • 打赏
  • 举报
回复
意思就是记载所有在线用户的打开的页面数吗?
RedFire 2004-03-19
  • 打赏
  • 举报
回复
关注一下,我们现在的系统中用的也是severlet listener,感觉效果也不是太好。
zqrqq 2004-03-18
  • 打赏
  • 举报
回复
如果突然拔网线,那就实在没有办法

建议你设置一个合理的超时时间,用超时判断用户是否在线。

或则,记载用户打开的每个网页,在转移到别的页面或则关闭页面的时候,将打开的页面删除,当这个用户打开的网页数为零的时候就表示他已经离线。

至于关闭页面的判断方式,可以用一个隐藏的iframe,在页面onunload事件时向服务器发一个请求解决

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧