easy.............,简单的,你做一个临时的数据表就可以了。教你一个方法:不过技术模式难度较高。
通过client(cookie) <-> server(session) 处理,呵呵,你可以用js来定期发送给server认证。
通过client(cookie) <-> server(session) 处理,呵呵,你可以用js来定期发送给server认证。
解决方案 »
- 关于线程安全与非线程安全的【疑惑】
- 請教 jordan102:正則取圖片src網址
- 如何将PHP页面中的变量值传给HTML页面
- 怎么将数据库中记录的用户ip转成所在地?
- 正则问题
- 百度ueditor在本地测试一切正常,但是上传到服务器后上传图片时出现了问题?
- 关于GD库中生成缩略图的疑问
- 今天我女朋友生日,发一点分,虽然不是很多~~
- 我安装php,配置一下apache里面的httpd.conf就OK,没有php.ini,怎么安装ZendOptimizer啊
- 不能运行phpinfo怎么看 当前项目用的是哪个php.ini
- 高手看看这段代码.ADODB.Recordset (0x800A0E79)错误
- 一个很菜的问题,高手请进,急.....
难点在于如何判断用户的动作状态。
由于 HTTP 是无状态的非持续性连接,所以不可能准确的知道用户在某个特定的时候用户在干什么,做什么动作。我是这样想的,用户登陆时,首先判断是否存在一个临时的用户在线表,没有就创建一个表,然后写入自己的信息,表示在线,锁定自己的帐号。
这个表可以不是临时的。 看你自己的了~ 做成固定表也许好些,这样可以省去许多麻烦。登陆后,客户端的页面每个一段时间向服务端发送一个信号,刷新用户在线表,通过比对最后一次动作的时间和当前时间来完成。发送信号可以使用 js 的setTimeout 方法来定时刷新一个页面来达到这个效果。这个页面中包含你处理用户表的一些方法。
比如更新自己的最后动作时间,踢出超时的用户,执行解锁,等等。当同时登陆的人比较多时,这个方法很有效。如果人少,就不准确了。