数据库+SESSION的话
1.假如用户异常退出,死机等情况,如何判断SESSION?
2.用户一多的话,频繁调用数据库?那还不如XML
3.这里面还有实时控制的问题吧.

解决方案 »

  1.   

    异常退出这问题难倒一代人了。web为无连接模式,不可能即刻判断用户退出的。
    等待tpc/ip协议的下一次变革吧。
      

  2.   


    数据库+SESSION的话
    1.假如用户异常退出,死机等情况,如何判断SESSION?
       // 要看你是先登陆的优先,还是后登陆优先
       // 后登陆优先没有这个问题,清掉前面的同用户session即可
       // 先登陆优先必然会有这个问题,只能设定一个时间段处理. (非web程序一样会有死机问题)2.用户一多的话,频繁调用数据库?那还不如XML
       // 有那么严重吗? 3.这里面还有实时控制的问题吧.
      // 不懂
      

  3.   

    用session吧,异常退出的话,很难
      

  4.   

    譬如bbs.manmi.com等使用动易的论坛的这些论坛,解决了楼主的问题。本人认为,这个和数据库一定是分不开的,如果解决了,也一定是如楼上几位一样的说法的,唉~这个的确是非常的困难……
      

  5.   

    数据库和cookie记录一个用户连线的id,假如一浏览器登录了,改变id.没人另外登录id也就不变了.以前登录的人还是能正常使用的.
      

  6.   

    cookie+session+IP,如果有session在线,就用cookie+IP验证一下,是不是刚才的那台机子.
      

  7.   

    web本来就不是实时的,否则怎么能撑住几十万的IP ?数据库+SESSION的话  
    1.假如用户异常退出,死机等情况,如何判断SESSION? <--可以判断
    2.用户一多的话,频繁调用数据库?那还不如XML  <--很多方法可以控制调用频率
    3.这里面还有实时控制的问题吧. <--实时控制要写客户端程序老兄,人家都实现了的,你还在疑问什么?
    记得以前有个聊天室用perl写的,可以实时控制用户是不是掉线,那要单独开一个监听端口
    你有兴趣的话可以研究一下此类技术
      

  8.   

    helloyou0(你好!) ( ) 信誉:100    Blog  2006-12-19 13:23:07  得分: 0  
     
     
       
    数据库+SESSION的话
    1.假如用户异常退出,死机等情况,如何判断SESSION?
       // 要看你是先登陆的优先,还是后登陆优先
       // 后登陆优先没有这个问题,清掉前面的同用户session即可
       // 先登陆优先必然会有这个问题,只能设定一个时间段处理. (非web程序一样会有死机问题)2.用户一多的话,频繁调用数据库?那还不如XML
       // 有那么严重吗? 3.这里面还有实时控制的问题吧.
      // 不懂
    先登陆优先,的确需要一个保护时间段来处理,实时控制,肯定是频繁的先数据库发送该用户在线请求。 
      

  9.   

    ashchen(輝輝) ( ) 信誉:120    Blog  2006-12-21 09:24:01  得分: 0  
     
     
       web本来就不是实时的,否则怎么能撑住几十万的IP ?数据库+SESSION的话  
    1.假如用户异常退出,死机等情况,如何判断SESSION? <--可以判断
    2.用户一多的话,频繁调用数据库?那还不如XML  <--很多方法可以控制调用频率
    3.这里面还有实时控制的问题吧. <--实时控制要写客户端程序老兄,人家都实现了的,你还在疑问什么?
    记得以前有个聊天室用perl写的,可以实时控制用户是不是掉线,那要单独开一个监听端口
    你有兴趣的话可以研究一下此类技术
      
    用SOCKET监听,是一种方法,用PHP监听测试过,服务器消耗有点
    现在是用JS+XML实现实时控制用户是不是掉线,但是系统资源消耗还是挺大的。
      

  10.   

    gmlwl(笨笨猫) ( ) 信誉:100    Blog  2006-12-20 21:48:19  得分: 0  
     
     
       cookie+session+IP,如果有session在线,就用cookie+IP验证一下,是不是刚才的那台机子.
      
     
    貌似PHP的SESSION是客户端异常,服务器上还有的.
      

  11.   

    关于登录的问题的确很类似,里面提到建立session表的问题,我不了解如何建立,希望能具体一些,最好给一个参考代码。
    或者请告诉我假设登录用户名为test,登录的sessionid为valid_user,请问我如何才能读取php session相关数据,从而判断这两个数据是否已经注册了呢?请具体给出代码,谢谢!
    我用如下代码尝试,就不行:
    if (session_is_registered("valid_user"))
    {
    session_unregister("valid_user");
    session_destroy();
    }
      

  12.   

    从一开始就没打算用SESSION实现.
      

  13.   

    经过其他人的指点,至少踢出原登录用户有了一种解决办法:即将本地登录时生成的一个随机数写入session表或者用户表的一个列,将该随机数与用户名和密码一起绑定判断使用,就可以踢出原用户了。
    同时希望大家能够提出其他的解决办法。