【发布时间】:2011-07-15 21:06:17
【问题描述】:
我经营一个网站,用户可以通过浏览器互相聊天(想想 Facebook 聊天)。处理实时交互的最佳方式是什么? (现在,我每 30 秒进行一次民意调查,以更新在线用户和新收到的消息,并且每秒在聊天页面上进行另一次民意调查以获取新消息。)
我考虑过的事情:
- HTML5 Web Sockets:没有使用它,因为它不适用于所有浏览器(仅限 chrome)。
- Flash Sockets:没有使用它,因为我想最终支持移动网络。
现在,我正在使用短轮询,因为我不知道 AJAX 长轮询的可扩展性如何。我现在正在从 servint 运行 VPS 服务器(运行 apache)。我应该使用长轮询还是短轮询?我不需要绝对即时的响应时间(对于聊天应用程序来说“足够好”)。是否经常有几十万用户要杀死我的服务器的短轮询?我如何扩展这个,请帮助!
【问题讨论】:
-
我知道 Apache 通常不能很好地处理许多同时连接。并且还意识到可能有其他解决方案为此场景构建(nodejs 等)。但现在,我想避免重写整个应用程序。
-
针对不同平台实施多种解决方案怎么样?即,如果支持HTML5,浏览器使用HTML5,如果支持flash,浏览器使用flash,如果以上都不支持,浏览器使用ajax。
标签: php javascript ajax sockets