日期:2014-05-20  浏览次数:20770 次

用户登陆状态问题,在线等。
C/S结构,我想在数据库给用户表里加一个INT字段,取值只能为1和0,用户登陆为1,离线为0,如果用户登陆该字段值为1了,怎么实现在突然断电的情况下也能将该字段的值改为0。

------解决方案--------------------
其实你可建一个临时表
不就OK了吗
------解决方案--------------------
派一个程序监视着
------解决方案--------------------
通过心跳来检测
也就是说你定时(比如15m)向每个为1的client发送一个包,然后他没回就说明断了
你的socket也会报错的
------解决方案--------------------
增加一个时间,如果时间超过了预定义的时长,就认为已经“走”了。



------解决方案--------------------
表叫TABLE1,登陆状态DLZT(取值1或0)如果帐户LLL登陆成功,DLZT改为1了,怎么实现断电了,TABLE1表里帐户LLL字段对应的DLZT值该为0
--------------------------------------
TABLE1还有一个字段:刷新时间,客户端程序每隔X秒更新一下这个字段(只更新自己这一条),还有一个程序每隔Y秒把已经超过Z秒未更新的记录的DLZT值改为0