WebRTC和Websockets.有区别吗?

And*_*gan 50 javascript html5 websocket socket.io webrtc

我假设WebRTC是一个解码/编码音频和视频的API,虽然服务器和客户端之间的通信是通过Web套接字或其他网络协议完成的?我有点困惑.WebRTC有自己的通信协议吗?

jos*_*736 83

WebRTC有两个方面.

  1. JavaScript API(getUserMedia)允许应用访问摄像头和麦克风硬件.您可以使用此访问权限在本地显示流(可能应用效果),或通过网络发送流.您可以将数据发送到您的服务器,或者您可以使用...
  2. PeerConnection,一种允许浏览器建立直接对等套接字连接的API .您可以直接与其他人的浏览器建立连接并直接交换数据.这对于视频等高带宽数据非常有用,您不希望服务器必须处理中继大量数据.

看一下演示,看看WebRTC的两个部分是否正常运行.

简而言之:

  • WebSockets允许浏览器和Web服务器之间的全双工通信.
  • WebRTC PeerConnection允许两个浏览器之间的全双工通信.

  • "握手阶段是否需要混合服务器?" 是.WebRTC已经使用JSEP架构实现,这意味着用户发现和信令通过单独的通信通道完成(例如,使用WebSocket或XHR和DataChannel API).请参阅http://apprtc.appspot.com示例或(自我推销道歉)http://www.html5rocks.com/en/tutorials/webrtc/basics/#toc-signalling (7认同)
  • 哇...谢谢你或许我能期待的最简洁的答案.*因此PeerConnection是一个P2P连接,握手阶段是否需要混合服务器?是否是任何PeerConnection API所需的服务器? (2认同)

obe*_*tet 13

WebRTC使用RTP(基于UDP的协议)进行媒体传输,但需要带外信令信道来建立通信.信令通道的一个选项是WebSocket.