【发布时间】:2010-04-07 05:43:41
【问题描述】:
在this post,我读到了有关 XMPP 的用法。这种事情有必要吗?更重要的是,我的主要问题扩展了:能否仅使用标准 HTTP 和浏览器技术高效构建聊天服务器和客户端(例如 PHP 和 JS,或 RoR 和 JS , ETC)?或者,最好还是坚持使用 XMPP 等旧协议,并找到一种将它们与我的应用程序集成的方法?
我通过 LiveHTTPHeaders 和 Firebug 查看了CampFire 大约 5 分钟,它似乎使用 Ajax 发送一个请求,该请求在发生另一次聊天之前从未得到答复。这只是 CampFire 在服务器上打开一个新线程以侦听更新,然后在线程听到更新时返回对请求的响应吗?我注意到他们在特定端口上请求(8043,如果我没记错的话),这让我觉得他们正在做的事情比我提到的更复杂。另外,请求的 URL 以 /tcp/ 开头,我觉得这很有趣。
注意:我预计不会有超过 150 个用户同时在所有房间内进行实时聊天。我知道,如果我要为像 CampFire 这样的聊天服务构建托管付费服务,同时拥有数千名并发用户,我应该花时间研究特殊技术,而不是尝试在我的应用中以简单的方式重新发明轮子。
另外,如果您打算通过服务器轮询来做到这一点,您会多久亲自轮询一次以最大限度地提高响应而不会猛烈抨击服务器?
【问题讨论】: