注册 登录
编程论坛 J2EE论坛

还是论坛的一些问题

飘飘叶子 发布于 2006-09-28 14:18, 843 次点击
在论坛中有显示哪些用户在线的,发的帖子下面也有显示该用户是否在线的
这样的效果是如何实现的?
13 回复
#2
无理取闹2006-09-28 17:27
应该有个字段是显示是否在线的吧
#3
无理取闹2006-09-28 17:27
你的论坛做得怎么样了??
#4
独孤无痕2006-09-28 18:48
就是通过他的一个字段来实现是否在线的
我觉得这个最简单!
#5
yueritian2006-09-29 08:31

那就是说登录的时候会把这个字段更新为[在线]
注销或者关闭页面就把这个字段更新为[离线]喽

#6
飘飘叶子2006-09-29 08:45
如果说是通过数据库的一个字段来显示的话,也就意味着每次登录都要update一次数据库和select一次数据库,如果关闭浏览器的话就不可能再去update一次数据库把状态改为离线了,还是有点不可行
#7
飘飘叶子2006-09-29 08:47
以下是引用韩峰在2006-9-28 17:27:49的发言:
你的论坛做得怎么样了??

论坛么,已经差不多完工了,TNND,就我一个人在做……还要我做什么什么功能

#8
千里冰封2006-09-29 09:00
以下是引用飘飘叶子在2006-9-29 8:45:49的发言:
如果说是通过数据库的一个字段来显示的话,也就意味着每次登录都要update一次数据库和select一次数据库,如果关闭浏览器的话就不可能再去update一次数据库把状态改为离线了,还是有点不可行

没必要这样的,可以在服务端维护一个session,当session不存在的时候就可以判断为不在线了

#9
飘飘叶子2006-09-29 13:52
这样的话,如果用户越来越多,速度也会越来越慢吧?
#10
无理取闹2006-09-29 15:30
做好了要给大家看看啊
好好学习一下
#11
z1089799792006-09-29 19:34
同时在线用户多的话用数据库是最好的
关闭浏览器时可以用脚本<body onunload="aa()">
window.location.href="***.jsp?ID=***"
在***.jsp中update
还要判断刷新这种情况
#12
pchelp20082006-09-30 08:02
楼上的这个好是好,但有没有别的方法触发离线昵?可不可以用session来控制;/
#13
z1089799792006-09-30 08:50

人多的话用session会影响性能的

#14
神vLinux飘飘2006-09-30 20:43
...用户在线是通过 application 实现的。在application里面维护一个变量onlineCount,每个用户登录的时候都让onlineCount++;

难就难在用户注销,如果是普通注销就还好办,onlineCount--;就行了,问题就在于那些不是普通注销的用户---看到我们论坛的在线用户了吧~为什么他们总降低不下来?就是因为onlineCount没有--

解决的方法我暂时没有想好,有好的点子我们再交流
1