Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在网页上实时显示通知和消息的最佳方式?_Php_Javascript_Ajax_Comet_Websocket - Fatal编程技术网

Php 在网页上实时显示通知和消息的最佳方式?

Php 在网页上实时显示通知和消息的最佳方式?,php,javascript,ajax,comet,websocket,Php,Javascript,Ajax,Comet,Websocket,我对一种很好的即时通讯方式很感兴趣,比如meebo、facebook和myspace都有,也都有在页面上发送通知的功能。例如,在我的网站上,当用户收到新的邮件消息、照片评论、个人资料评论、好友请求等内容时,他们将收到一条通知消息,并在使用jQuery和AJAX的页面上链接 在很大程度上,我相信这不是最好的方法,因为我的jquery代码基本上必须每30秒左右运行一个PHP脚本来查询mysql表,对于每个打开页面并运行该脚本的用户来说。如果我能找到一种有效的方法,我最终会在屏幕底部的聊天栏中添加一些

我对一种很好的即时通讯方式很感兴趣,比如meebo、facebook和myspace都有,也都有在页面上发送通知的功能。例如,在我的网站上,当用户收到新的邮件消息、照片评论、个人资料评论、好友请求等内容时,他们将收到一条通知消息,并在使用jQuery和AJAX的页面上链接

在很大程度上,我相信这不是最好的方法,因为我的jquery代码基本上必须每30秒左右运行一个PHP脚本来查询mysql表,对于每个打开页面并运行该脚本的用户来说。如果我能找到一种有效的方法,我最终会在屏幕底部的聊天栏中添加一些即时消息,比如facebook

我听说过Comet和HTML5WebSockets这两个术语,但我不确定这些是不是我应该为这样一个功能寻找的解决方案?我希望将带宽保持在最小值,并且在高流量站点上每隔几秒钟运行一次查询似乎不是很有效


如果您知道一些好的解决方案,请稍微解释一下它们是如何工作的。请

您能有一个ajax可以查询的共享消息队列吗?可能是一个php脚本,它将大部分消息存储在memcached中(如果失败,可能会写入db)

不确定,但很想听听其他的解决方案……

我想Facebook会用它们来聊天,看看吧

XMPP是

一种用于实时通信的开放式技术,支持广泛的应用程序,包括即时消息、状态、多方聊天、语音和视频通话、协作、轻量级中间件、内容联合和XML数据的通用路由


您需要安装一个客户端来处理消息,并在应用程序中使用一个可用的客户端来实现客户端。

您正在寻找一个“comet”服务器。既然你说的是PHP,那么最好的解决方案应该是SaaS解决方案,例如,当大量并发连接保持打开时,PHP在伸缩性方面存在问题。另请参见。

基本问题是您需要实现Comet服务器(即实现服务器推送)。标准的web主机和apache不允许您轻松地执行此操作。另一个托管解决方案(除了Web同步)是。目前免费