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