怎么实现PHP服务器定时检查不在线用户 就是一个聊天室 对用户的退出做响应 我已经做了JS的ONUNLOAD和JS的定时发送一个在线标志 但是为了防止用户非正常退出 想做服务器端自己每隔几分钟检查一下用户是否在线 可是完全没有思路 PHP没有SETTIMEOUT 而且 while里面加SLEEP也不行啊 求大家给点拨个思路就好 谢谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你的服务器是linux就是系统自带的crontab定时执行是否在线程序win的话,不知道定时任务可不可以,没有用过 我还是个WIN的服务器 怎么办。 那就在mysql中写个存储过程,让mysql的event自动执行吧。 好 我试试4楼。。 我这么做就是为了防止人家给我发不来AJAX请求 给每一个link都加上ajax记录事件.就是记录他的最后活动时间..然后ajax定期访问那个最后活动时间..自己规定超过多久就算是登出了. 比如你ajax的间隔是3分钟请求一次,那么计算在线标识的时间就是小于三分钟,不能直接依靠mysql来处理,否则一旦客户端出现问题,超过3分钟没有请求,你的mysql种已经注销掉了用户的登录状态,而用户又在三分钟之后重新刷新了页面,你却把他弹出了,对用户的来说是很不友好的! 是这样的 我的意思是客户端的确每隔3分钟给服务器一个AJAX的通知 但是服务器总得每隔几分钟检查一下哪些用户发来了通知把? 我现在就是想知道这个 因为有可能人家结束了网页进程 这样服务器这边总不能一直挂着这个用户的在线标志把? 半天还没看明白比如下面获取在线用户列表的SQLselect * from user where DATA_ADD(active_time,interval 3 minute) > NOW() 语句的确是这样 但是问题是 我如何能让PHP定时的 每3分钟去查一次? htmlentities() 会处理字母吗? 有经验的php同志推荐一下专门教授开发php项目的书籍或其他资料 真心求深圳地区工作 如何修改 fckeditor 一个关于cookie问题 求在PHP里面实现一个sql语句: 当今很多php整站程序都含有install.php和install文件夹作为安装文件 ,请问它们具体实现什么作用? 安装了zend以后和php配置的一些冲突问题 程序接收上传文件疑问 如何做图片上传到mysql里?? PHP入门的安装问题 为什么下拉框的第一个是已经selected的
win的话,不知道定时任务可不可以,没有用过
4楼。。 我这么做就是为了防止人家给我发不来AJAX请求
然后ajax定期访问那个最后活动时间..自己规定超过多久就算是登出了.
比如你ajax的间隔是3分钟请求一次,那么计算在线标识的时间就是小于三分钟,不能直接依靠mysql来处理,否则一旦客户端出现问题,超过3分钟没有请求,你的mysql种已经注销掉了用户的登录状态,而用户又在三分钟之后重新刷新了页面,你却把他弹出了,对用户的来说是很不友好的!
比如下面获取在线用户列表的SQL
select * from user where DATA_ADD(active_time,interval 3 minute) > NOW()
语句的确是这样 但是问题是 我如何能让PHP定时的 每3分钟去查一次?