以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何限制不能单一账号不能同时登录  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=117160)

--  作者:sharpspear
--  发布时间:2018/4/8 9:44:00
--  如何限制不能单一账号不能同时登录
参考小刺猬进销存系统,是在用户表增加状态字段,登录和退出时分别做标记。但是,当程序非正常退出时,未在数据表做好退出标记,结果导致无法登录。请问,该如何进行限制同时登录或在线人数。
--  作者:有点甜
--  发布时间:2018/4/8 10:40:00
--  

1、用一个字段记录用户最后操作的时间;如果时间大于某个值,比如 60分钟后没有操作,就标记为离线;

 

2、或者,可以使用openQQ处理,如 http://www.foxtable.com/webhelp/scr/3009.htm

 


--  作者:sharpspear
--  发布时间:2018/4/9 12:11:00
--  

第一种方法60分钟没有操作,标记为离线。但是客户端程序已经非正常退出,此种写数据库操作是需要在服务器端进行吧,应该如何实现。


--  作者:有点甜
--  发布时间:2018/4/9 12:19:00
--  
以下是引用sharpspear在2018/4/9 12:11:00的发言:

第一种方法60分钟没有操作,标记为离线。但是客户端程序已经非正常退出,此种写数据库操作是需要在服务器端进行吧,应该如何实现。

 

做一个定时器,定时检测删除那些60分钟没有操作过的用户即可。

 

再做一个定时器,每次更新自己的最后操作时间。


--  作者:sharpspear
--  发布时间:2018/4/9 12:36:00
--  
此定时器是要运行在服务器端吧
--  作者:有点甜
--  发布时间:2018/4/9 14:34:00
--  
以下是引用sharpspear在2018/4/9 12:36:00的发言:
此定时器是要运行在服务器端吧

 

最好就是在服务器端控制。

 

但也没有必要必须在服务器端。每一个电脑都有一个定时器,也是可以的。


--  作者:有点甜
--  发布时间:2018/4/9 14:35:00
--  

定时器参考 http://www.foxtable.com/webhelp/scr/0657.htm