【发布时间】:2011-11-11 18:23:21
【问题描述】:
我正在使用 xmpp 进行网络聊天。目前我使用了长轮询,但这是最好的方法吗?服务器端是 PHP 的,用其他语言也许有更好的解决方案,但是用 PHP?
【问题讨论】:
-
原生 HTML5 WebSocket(如果浏览器支持);)
我正在使用 xmpp 进行网络聊天。目前我使用了长轮询,但这是最好的方法吗?服务器端是 PHP 的,用其他语言也许有更好的解决方案,但是用 PHP?
【问题讨论】:
这是一个相当普遍的争论,并且有很多答案,具体取决于您的服务器功能和许可限制。
基本上,现在简短的回答是一个库,比如 Node.js——它基本上为您处理客户端-服务器关系问题(确定 Web 套接字的可用性、闪存和回退到 AJAX 长轮询)。
长答案是,就目前的浏览器采用状态而言,您必须考虑许多不同的意外情况——我是否需要一种技术,我是否想排除某些群体,开发是否具有成本效益X、Y 和 Z 组的解决方案?然后,为了在服务器端实现最高效率的所有可能性,您需要提供某种类型的套接字服务器,然后在客户端提供 AJAX、Flash 和 Web 套接字(甚至可能是 Java 来捕获最后 1%)。归根结底,它归结为值得支持谁(在企业环境中,您了解最终用户的整体能力,并且可以坚持使用一种协议;开放网络,您不能做出同样的假设)。
【讨论】:
您可以使用web sockets 或server-side-events。 但这些技术只适用于现代浏览器。
【讨论】: