【问题标题】:Is socket.io the WebRTC or WebSocket or something else?socket.io 是 WebRTC 还是 WebSocket 还是别的什么?
【发布时间】:2016-03-19 17:30:21
【问题描述】:

我是socket.io 的新手。在实时 (Web) 应用程序中,我们过去常常选择是 WebRTC 还是 WebSocket(甚至是 SIP,还是?)技术。

请问在这种情况下socket.io 到底是什么?

【问题讨论】:

    标签: websocket socket.io webrtc sip


    【解决方案1】:

    WebSockets

    socket.io 是一个在后端和客户端都实现的流行开源库。该库基于WebSockets API,它允许SERVERCLIENT 之间进行通信。


    WebRTC

    另一方面,WebRTC 是一个 WebAPI,它基本上包含 3 个东西:

    • Real Time C两个浏览器之间的通信(无需服务器),点对点连接 (P2P)

    • 媒体流(音频和视频)

    • Real Time C通信数据通道(在 P2P 上传输任何数据)


    主要区别在于 WebSockets 需要 服务器,它基于 发布/订阅模式,您可以在其中来回发送原始数据,而无需任何特殊数据默认处理。相比之下,WebRTC 已经有很多功能可以用来处理音频/视频流以及带有数据通道的原始数据。


    有关更多信息,我建议阅读我在上面提供的 MDN 链接,并查看 socketswebRTC 上的 this 非常酷的幻灯片

    【讨论】:

      【解决方案2】:

      如果您想制作视频或音频通信服务,请使用 WebRTC 浏览器内置支持并编写发现和信令。 webrtc 具有很棒的功能,例如 P2P 连接和数据加密。

      WebRTC 客户端(浏览器)功能,例如在 evergree 浏览器中获得良好支持的视频和音频数据:http://iswebrtcreadyyet.com/#interop

      socket.io 非常适合构建集中的发布/子应用程序,例如文本聊天

      您可以在没有 socket.io 的情况下与 WebRTC 建立连接,但如果您使用 socket.io 来获取信号帮助,两者都可以正常工作

      【讨论】:

      • 谢谢。但你更让我困惑。那么socket.io 到底是什么?它基于WebRTC吗?还是 WebSockets?还是别的什么?
      • 是不同的东西,socket.io 是一个 node.js 模块,用于处理 websockets 和回退到 websockets,如池和 WebRTC 是一种用于制作视频和音频通信的技术
      猜你喜欢
      • 2011-10-03
      • 2016-12-30
      • 2015-12-26
      • 1970-01-01
      • 2020-05-17
      • 2016-12-13
      • 1970-01-01
      • 2018-12-31
      • 1970-01-01
      相关资源
      最近更新 更多