如何使jive具有在线用户显示功能

03-05-10 sharpapple
怎样知道用户在线及将在线用户显示给各个浏览用户呢?期求高手回答!!!

blues
2003-05-13 21:52
这种方式你试过没有?
用户登陆/发生动作时纪录一个lastActionTime;
另外启动一个TimerTask定时轮询current Time 和lastActionTime的间隔。不过这种方法在struts这样基于action的结构中才好实现,faint

另外container可以获取所有的session吧?container本身能实现session timeout机制,我们应该也能用他的session timeout机制来更新在线列表。

还有一种方式,在browser中运行一个applet,让applet定时向server汇报在线信息。

eepco
2003-05-14 17:40
实际上只需在jsp页中定义一个范围为application的javabean,可以使用HashMap类,一旦用户登陆后,把它放进HashMap就可以了。

blues
2003-05-14 19:18
> 实际上只需在jsp页中定义一个范围为application的javabean
> 梢允褂HashMap类,一旦用户登陆后,把它放进HashMap就?> 以了。

登陆时怎么做都可以。关键是怎么检测用户logout

wenlj00
2003-05-14 20:19
可以利用SessionBindingListener来搞定超时退出问题或者用户直接关闭浏览器

曹晓钢
2003-05-15 15:47

曹晓钢
2003-05-15 15:50
简单的说,这是不可能精确做到的。因为没有办法得到用户的logout事件。
我上面贴的连接页没有解决任何问题,只不过让大家少走一点弯路。

用户close了窗口,server无从知道。最多只能等待session超时。
假如在window.onclose的时候触发Javascript代码来通知服务器,仍然不是可靠的解决方案。比如浏览器崩溃了怎么办?

wuchensir
2003-05-15 15:55
stock.inhe.net/jive

一个实现,请给点意见

yanzhao11
2003-08-08 21:19
wuchensir的stock.inhe.net/jive
好酷的论坛,和动网差不多,速度简直没法说了,羡慕啊
wuchensir ,能不能提供个原码啊?


yanfeifei
2008-07-02 03:28
我做的是用 SessionBindingListener 接口监听session 用 HashMap存放 IP为key username为value

但是当用户还没登陆时显示的是guest 登陆成功后为用户名,但是当前用户一注销 要怎么还是显示guest 呢?

还有一个问题怎么可以获得用户当前所在位置?

请高手帮忙!!谢谢哎!