PHP、Apache、Mysql、HTML5 - 从服务器获取更改而不请求它们(推送)

标签 php mysql ajax html push

在 HTML5(也许是 websocket?)中有没有办法为 ajax 请求设置某种推送机制?例如,我希望我的登录用户得到通知,他有一条新消息,而无需定期向服务器发送 ajax 请求来检查是否确实有一条新消息。

现在,我每隔几秒检查一次,如果我得到一个数字,相应地更改 UI,但对于 10000 名用户来说,这往往对频繁更新的服务器要求很高。

如果 HTML5 本身没有处理这个问题的能力,Comet (http://www.zeitoun.net/articles/comet_and_php/start) 是比周期性的 ajax 调用更好的方法吗?

最佳答案

Comet 正是为此而生,但 HTML5 中的 Websockets 将提供更好的性能。参见 https://stackoverflow.com/questions/4262543/what-are-good-resources-for-learning-html-5-websockets

但是,Websockets aren't supported in most browsers然而,因此您需要一个库作为您的应用程序和当前浏览器支持的特定实现之间的抽象层(如果可用,则使用 WebSockets,但回退到长轮询、Flash 套接字等)必要的)。幸运的是,有很多这样的库。

要为您的应用找到合适的实现,您应该查看 CometDaily 的 Comet Maturity Guide .但是,此处未提及的是 APE project (Ajax Push Engine) ,目前正在吸引 Web 应用程序开发人员的大量关注。

关于PHP、Apache、Mysql、HTML5 - 从服务器获取更改而不请求它们(推送),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7091536/

相关文章:

使用 Django 的带有 RESTful API 的 PHP 网站。可能的?好主意?

php - MYSQL - 在一个查询中合并 2 个表,但有 2 个 WHERE/IN 子句

php - 为什么我不能将函数作为默认变量提供给 PHP 函数?

MySQL在表中插入一定范围内的日期记录

javascript - Ajax 无限滚动功能在移动设备上无法触发

php - 链接尚未链接的电子邮件地址

php - ORDER BY 不与 GROUP BY 一起使用

ajax - 如何为 AJAX 查询返回纯文本?

javascript - 使用$ajax提交表单数据而不刷新页面

php - 在没有 Join 的情况下,在 3 个表中查找带有 field_in_set 的标签