我是socket.io的新手。在实时(Web)应用程序中,我们过去常常选择WebRTC或WebSocket(甚至是SIP,还是?)技术。
在这种情况下,socket.io
究竟是什么?
答案 0 :(得分:2)
如果您想制作视频或音频通信服务,请使用WebRTC进行浏览器构建并编写发现和信令。 webrtc具有P2P连接和数据加密等强大功能。
WebRTC客户端(浏览器)功能,例如在evergree浏览器中获取视频和音频数据,具有良好的支持:http://iswebrtcreadyyet.com/#interop
socket.io适用于构建集中式发布/子应用程序,如文本聊天
您可以在没有socket.io的情况下与WebRTC建立连接,但是如果您使用socket.io来帮助发送信号,那么两者都可以正常工作
答案 1 :(得分:2)
socket.io
是在后端和客户端均实现的流行开源库。该库基于WebSockets API,它允许 SERVER 和 CLIENT 之间进行通信。
另一方面,WebRTC是另一个WebAPI,它基本上包含以下三点内容:
R eal T ime C 通讯,即对等连接(P2P)
媒体流(音频和视频)
R eal T ime C 通讯数据香奈儿(在P2P上传输任何数据)
主要区别在于WebSockets需要一个服务器,并且基于发布/订阅模式,您可以在其中来回发送原始数据,而无需任何特殊数据默认处理。相比之下,WebRTC已经拥有许多功能,可用于处理音频/视频流以及带有数据通道的原始数据。
有关更多信息,我建议阅读上面提供的MDN链接,并查看<{> sockets 和 webRTC
上的this非常酷的幻灯片