比较:Websockets VS Socket.io

时间:2013-08-20 21:40:35

标签: android websocket socket.io

我想知道Websockets和Socket.io之间的主要区别是什么。

  1. 表现。(它更快吗?可扩展?)
  2. 应用程序。 (它是用于实时服务吗?)
  3. 支持。 (哪一个获得更多支持?)
  4. 我也想知道哪些平台本身支持这两个?

1 个答案:

答案 0 :(得分:6)

socket.io是Guillermo Rauch的开源库。该库试图找到一些在浏览器和服务器之间设置类似聊天功能的方法。

websocket是一些现代HTML5浏览器中的特定界面。

http://caniuse.com/#search=websocket表明IE9和Android浏览器(2.1-4.2)都没有支持websocket。

http://socket.io/#browser-support声称socket.io适用于IE5.5 +

虽然socket.io将使用websocket,如果它可用,它也会尝试闪存,甚至轮询。所以socket.io有更优雅的降级。

至于你的具体问题:

  1. 性能 - 由于socket.io尝试使用websocket,速度问题并不是那么重要,但问题是当有人没有websocket时该怎么做。在这种情况下,socket.io作为尝试各种方法的抽象,更灵活,如果您愿意在应用程序中允许,可以使用较旧或较慢的方法。

  2. 应用程序 - 它们对“聊天”风格系统和实时传递数据都很有用。 socket.io的作者声称在websocket上有其他功能,请参阅http://socket.io/#faq

  3. 支持 - 由于websocket在浏览器中,因此无需支持。相比之下,socket.io是一个开源库,https://github.com/learnboost/socket.io/issues处的问题页面显示了对错误和问题的积极关注,尽管不是即时的。如果你有你尝试过的代码,并想问为什么它不起作用,Stack Overflow将是一个很好的问题。如果您需要代码,而无需执行任何工作,请尝试google。许多人在他们的博客上发布了一些例子。