【问题标题】:Comparison: Websockets VS Socket.io [closed]比较:Websockets VS Socket.io [关闭]
【发布时间】:2013-08-20 21:40:35
【问题描述】:

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

  1. 性能。(它更快吗?可扩展?)
  2. 应用程序。 (它用于实时服务吗?)
  3. 支持。 (哪一个得到更多支持?)

我也想知道哪些平台原生支持这两个?

【问题讨论】:

    标签: android websocket socket.io


    【解决方案1】:

    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(如果可用),但它也会尝试 flash,甚至轮询。所以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。许多人在他们的博客上提供了示例。

    【讨论】:

    • 你能告诉我哪一个快吗? websocket 还是 socket.io?虽然你在这里提到,但对不起,我是新来的英语,我不明白关于性能的第一部分,只是告诉 websocket 快还是 socket.io?
    • @user11469230 socket.io 不是通信协议,它在底层使用 WebSockets(回退到其他协议,如 HTTP 长轮询)。由于 Socket.IO 提供了额外的功能,它可能会对性能造成影响,但它们应该与 if 您使用 websocket 协议一样快(您可以告诉 Socket.IO 使用哪个协议) .
    • 此外,socket.io 周围还有大量其他项目:几乎每种编程语言都有客户端,大多数非 http 传输器(如 Redis、NATS 等)都有适配器和发射器。
    猜你喜欢
    • 2016-07-17
    • 2011-11-13
    • 2013-10-11
    • 1970-01-01
    • 2012-07-04
    • 2015-04-10
    • 2011-06-03
    • 2011-03-28
    • 1970-01-01
    相关资源
    最近更新 更多