php – 自动从服务器向客户端发送警报消息,无需回发
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 自动从服务器向客户端发送警报消息,无需回发,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2064字,纯文字阅读大概需要3分钟。
内容图文
我正在尝试在我的电子商务网站上实现一项功能,但我不知道该怎么做或从哪里开始.
我想提醒已经验证并登录到我的网站的客户,如果其他人带有他们(登录用户)的登录凭据以打算黑客或任何其他安全风险,请尝试再次使用任何其他计算机或浏览器登录.我可以提醒已登录的用户尽快更改密码以获得更好的安全性,或者如果它是尝试从多个客户端登录的同一用户那么他将受到限制.
我将在我的数据库中维护一个已登录用户的列表,并将验证用户是否已经登录.但是如何在没有用户从客户端提出任何回发的情况下动态发送警报,因为只要其他登录尝试是使我的脚本应立即警告已登录的用户.
我希望我的要求是明确的.如果有什么是含糊的请评论,我会清楚.
我使用的是PHP 5.3和MySQL 5.5.该网站将托管在linux主机上.
我认为AJAX会有所帮助.我现在正在寻找解决方案很多天但没有运气.
请帮忙.
解决方法:
你在谈论长期民意调查.
“长轮询”是用于描述以下技术的名称:
>发出一个AJAX请求(使用javascript框架,如
jQuery)服务器等待请求的数据可用,
循环和休眠(您的服务器端PHP脚本)
>数据返回到客户端并进行处理后,此循环重复
(通常在你的AJAX请求的onComplete回调函数中)
这基本上模拟了从客户端到服务器的连续实时流.出于多种原因,我不会在PHP中这样做.这里有一些 :
> PHP用于快速执行(不等待)
> PHP将强制您在服务器端进行某种轮询
依赖睡眠()
> PHP将占用你的RAM,同时为每个产生进程
请求(Apache会这样做)
>不要为此目的使用Apache服务器! Apache服务器将能够比几百个持久连接更好地处理成千上万的短有限连接.无论你走哪个方向(长轮询与ajax)你可能想要设置一个专门用于聊天的轻量级网络服务器.像Lighttpd或Nginx这样的东西,在相同的内存/ CPU条件下可以有更多的max_clients或更多的同时请求.
但是你可以使用sleep,轮询数据库(或者更好的缓存APC / Memcache)来实现.
如果你想做类似的事情跳进一些可以处理事件的技术:Python(Tornado,gevent,eventlet,Twisted,…),Ruby(Eventmachine,…),Erlang,Scala,服务器端JavaScript(node.js, …),彗星……
相反,你可以使用简单的方法
看看这张桌子.
你可以做那样的事情
>为ex创建一个名为db的表.当用户登录您的站点时,记录并记录一些各种数据(例如IP,登录日期……).将signout_date字段留空. (当用户注销时只更新此表并放置当前日期)因此,如果有人在您的站点上,则注销日期字段必须为空
>然后在每个用户活动中,检查表中的user_id:如果有多个行具有相同的user_id和空的注销日期字段.然后只需通知用户,另一台用您的凭据登录的电脑.
内容总结
以上是互联网集市为您收集整理的php – 自动从服务器向客户端发送警报消息,无需回发全部内容,希望文章能够帮你解决php – 自动从服务器向客户端发送警报消息,无需回发所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。