【发布时间】:2011-09-25 06:55:05
【问题描述】:
我终于制作了一个我想制作一段时间的简单聊天页面,但我的服务器遇到了问题。
我不确定长轮询是否是正确的术语,但据我了解,我认为是。我有一个对 php 页面的 ajax 调用,该页面检查 mysql 数据库中是否有比 ajax 请求中发送的时间更新的消息。如果没有更新的消息,它会一直循环并检查直到有。否则,它只返回新消息,客户端脚本在收到消息后立即发送另一个 ajax 请求。
一切正常,除了 000webhost 上的服务器在几条聊天消息后停止响应,x10 主机上的服务器给我一条关于达到资源限制的消息。
也许这是构建聊天系统的愚蠢方式,但我只知道该怎么做。如果有更好的方法请告诉我。
edit: 天哪,我突然想到我没有在服务器的 while 循环中放置任何睡眠时间。
【问题讨论】:
-
看看cometd的实现:cometd.org
-
链接根本没有帮助。我不知道 cometd 是什么,他们网站上的描述“可扩展的基于 HTTP 的事件路由总线”根本没有帮助。我讨厌尝试使用我一无所知的东西,我宁愿在我这样做之前努力理解它们。我从哪里开始?
标签: php javascript ajax long-polling