楼上,但是session如果所有的页面都关掉了,session怎么判断啊,能不能具体一点?非常感谢!

解决方案 »

  1.   

    新建一个表online,用户登陆时,在表上添加用户信息,用户离开时,session onend清处用户信息
      

  2.   

    session 的timeout设置成1分钟。并且在每个页面中加入一个层。50秒刷新一次。防止session超时。不过很奇怪。为什么我的session onend有时后不会执行?
    session onend中有一个操作是去处online信息的。如果没执行就导致拥护不能登陆了。
    不知道为什么?
      

  3.   

    用SOCKET编程,看看UDPCLIENT,和WEBCLIENT之类的东东.
      

  4.   

    我使用的方法如下:
    在数据库中用一个字段usertime记录用户的请求页面时间,用另一个表单独记录一个时间modifytime。
    当用户登录时先判断用户合法性,然后比较usertime与当前时间差是否小于某一个值,比如一分钟,如果小于此值说明此用户先前的登录已失效,修改数据库中相应数据,如果不小于此值则不允许当前用户登录。
    登录后,利用web service.htc循环到服务器取数据(如收消息或者其它),同时让此线程判断当前时间与modifytime是否小于某一个值,如果小于则不做处理,如果不小于则用当前时间修改usertime。
    这样用户状态的获得误差取决于你设定的那某一个值,当然,这样处理增加了数据库的负担。