实时消息和Internet Explorer

时间:2012-11-20 13:23:25

标签: websocket socket.io real-time pusher

我们目前正在开发一款使用pusher.com维护聊天应用程序中可用人员列表的应用程序。

不幸的是,我们的一些用户拥有IE< 10(即没有websockets)并且没有闪存,所以pusher.com将无法工作。此外,推送器对我们的使用来说变得越来越昂贵(推送器更多地用于很少数据连接的连接,我们正在做相反的事情!)

所以我正在寻找一种替代推送器(托管或自托管),可以在有或没有闪存的IE7 +上工作。

到目前为止,这是我正在考虑的事情:

  • XMPP / BOSH
  • socket.io(自托管)
  • pubnub

至于规模,我们可能需要每秒处理100多条消息和10000个并发用户。这里没有人玩过socket.io(或波什),我们不希望有太多的维护工作(即处理许多服务器等)。所以2或3个自托管服务器是可以的,10 +不是。

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

  

不幸的是,我们的一些用户拥有IE< 10(即没有websockets)并且没有闪存,所以pusher.com将无法工作。

这是不正确的。 Pusher(我为工作)为旧版浏览器提供了后备功能。基于HTTP的回退已经开始发布,与现有的Flash套接字回退一起发布。因此,较早版本的IE已经使用Flash套接字回退处理,但基于HTTP的回退将提供接近100%的浏览器覆盖率。

November 2012 issues of the Pusher newsletter具有以下内容:

  

我们一直很喜欢WebSockets,从一开始它们就是我们的主要传输机制。虽然它们仍然是在应用程序之间发送数据的最佳方式,但我们有时必须采用各种技巧来协商麻烦的代理。根据大众的需求,我们很快将通过在现有的后备选项中添加基于HTTP的传输来支持我们的传统支持。

     

我们已经部署了一些适用于一系列有限条件的临时端点,我们将在接下来的几个月内继续扩展此功能。如果您希望以测试版用户的身份尽早访问此版本,请与support@pusher.com联系。

就成本而言:

  

此外,推送器对我们的使用来说变得越来越昂贵(推送器更多地用于很少数据连接的连接,我们正在做相反的事情!)

您是否已联系Pusher支持人员解释您的用例?可能有折扣。

  

所以我正在寻找一种替代推送器(托管或自托管),可以在有或没有闪存的IE7 +上工作。

有一个realtime web tech guide有一个很好的实时网络技术解决方案列表(它在我的网站上,我维护它)。如果你想支持IE,那么提供基于HTTP的回退的解决方案是最安全的选择。

答案 1 :(得分:0)

我会跟socket.io一起去。它支持Internet Explorer 5.5 +。

它支持各种传输,并使用最合适的传输来确保浏览器兼容性,而无需使用特殊代码来处理每个浏览器。以下是网站上的传输列表:

WebSocket
Adobe® Flash® Socket
AJAX long polling
AJAX multipart streaming
Forever Iframe
JSONP Polling

您可以看到browser support here的完整列表。

至于BOSH,这是关于BOSH vs Websockets的讨论。如果继续使用BOSH,您将错过现代浏览器支持的Websockets功能。

答案 2 :(得分:0)

您应该查看ScaleDrone作为Pusher的经济实惠的替代方案。