socket.io是WebRTC还是WebSocket或其他东西?

socket.io是WebRTC还是WebSocket或其他东西?,websocket,socket.io,webrtc,sip,Websocket,Socket.io,Webrtc,Sip,我是新来的。在实时(Web)应用程序中,我们过去常常选择是WebRTC还是WebSocket(甚至SIP,仍然?)技术 在这种情况下,socket.io究竟是什么?如果您想制作视频或音频通信服务,请使用WebRTC作为浏览器内置支持,并编写发现和信令。webrtc具有令人敬畏的功能,如P2P连接和数据加密 WebRTC客户端(浏览器)功能,如在evergree浏览器中获得支持良好的视频和音频数据: 而socket.io则适合构建文本聊天等集中式发布/订阅应用程序 您可以在不使用socket.io

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


在这种情况下,
socket.io究竟是什么?

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

WebRTC客户端(浏览器)功能,如在evergree浏览器中获得支持良好的视频和音频数据:

而socket.io则适合构建文本聊天等集中式发布/订阅应用程序

您可以在不使用socket.io的情况下与WebRTC建立连接,但如果您使用socket.io来帮助发送信号

WebSocket,则两者都可以正常工作
socket.io
是一个在后端和客户端都实现的流行开源库。此库基于它,允许服务器客户端之间进行通信


WebRTC 另一方面,是一个WebAPI,它基本上有3个功能:

  • RealTimeC两个浏览器之间的通信(无需服务器),对等连接(P2P)

  • 媒体流(音频和视频)

  • RealTimeC通信数据通道(在P2P上传输任何数据)


主要区别在于WebSockets需要一台服务器,它基于发布/订阅模式,在这种模式下,您可以来回发送原始数据,默认情况下不需要任何特殊的数据处理。相比之下,WebRTC已经具备了很多功能,可以用来处理音频/视频流,也可以使用数据通道处理原始数据



要了解更多信息,我建议阅读上面提供的MDN链接,并查看sockets和webRTC上非常酷的幻灯片,谢谢。但你让我更加困惑。那么,
socket.io
到底是什么呢?它是基于WebRTC的吗?还是WebSocket?或者别的什么?不同的是,socket.io是一个node.js模块,用于处理WebSocket,并作为WebSocket的回退,如池,WebRTC是一种用于进行视频和音频通信的技术