首页 新闻 会员 周边 捐助

session的问题

0
悬赏园豆:20 [已解决问题] 解决于 2013-07-07 17:51

当退出时,去修改数据库里的是否在线状态, 现在有一个问题:当用户直接关闭浏览器后 怎样才能去修改数据库里的字段; 我不想用js,因为浏览器可能存在不兼容的问题,想通过session修改,

龙尹的主页 龙尹 | 初学一级 | 园豆:132
提问于:2013-02-07 15:48
< >
分享
最佳答案
0

总结楼上的发言:

1.如果不要求及时反映的话,通过session listener的监听,在session销毁时,去修改数据库值。

2.如果系统要求及时反映用户是否在线,需要客户端去轮询服务器端,ajax定时请求的方式可以去做。服务器端,发现在设定的时间内,客户端没发请求过来,则标记为不在线。优点:及时。缺点:程序处理多,和服务器交互多。

收获园豆:20
在大地画满窗子 | 初学一级 |园豆:102 | 2013-07-05 17:40
其他回答(7)
0

用Session_End, 不管 用户关闭浏览器的时候,只有session过期了,就触发

Qlin | 园豆:2403 (老鸟四级) | 2013-02-07 15:59
0

只能定时刷新

Yu | 园豆:12990 (专家六级) | 2013-02-07 22:21
0

同意

greenSea_blueSky | 园豆:206 (菜鸟二级) | 2013-02-16 18:34
0

1楼说的对、

_劍客 | 园豆:94 (初学一级) | 2013-02-19 17:21
0

要用触发来实现了

若雪封尘 | 园豆:663 (小虾三级) | 2013-02-26 14:48
0

写一个实现sessionListener接口的类,覆盖Destroysession()方法,会在客户端关闭浏览器时触发,方法内获得用户名交给其他类去处理连接数据库修改数据。

天王盖地虎, | 园豆:169 (初学一级) | 2013-02-27 14:19
0

说说我的看法哈,我感觉判断是否在线可以通过session是否为空就可以了,没必要在数据库里面专门用一个字段来判断,那样无疑会加重数据库的负担。

cel | 园豆:380 (菜鸟二级) | 2013-05-02 15:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册