此方法能准确的统计当前在线人数,避免刷新,直接关闭浏览器操作。
一、在主页面中,当页面加载完毕时,使用同步ajax向服务器发送请求,增加在线人数。然后注册window.onunload事件,在此事件处理器中,使用同步ajax向服务器发送请求,减少在线人数。
二、监听session销毁事件,减少在线人数。(主要是避免浏览器崩溃,或者断电等意外情况发生时,window.onunload事件处理器无法执行)。
服务器端,增加在线人数逻辑:
将用户id,放入set中。(如果没有此id,则加入之,如果有此id,则加不进去)。
服务器端,减少在线人数逻辑:
从set中删除用户id。(如果有此id,则删除之,没有此id,则删不掉)。