【发布时间】:2013-11-05 16:58:21
【问题描述】:
正如标题所示:WebRTC 是否会为您处理数据包丢失和数据包接收确认等问题,或者您是否需要为此编写自己的解决方案?
我正在编写一个多人点对点游戏,我想知道 webrtc 将如何处理数据包丢失。它会继续广播数据包直到返回确认接收吗?它会发送一个数据包 4 次,并且只有在设定的时间间隔后没有确认时才再次发送?还是留给我编码?
【问题讨论】:
标签: javascript sockets networking webrtc
正如标题所示:WebRTC 是否会为您处理数据包丢失和数据包接收确认等问题,或者您是否需要为此编写自己的解决方案?
我正在编写一个多人点对点游戏,我想知道 webrtc 将如何处理数据包丢失。它会继续广播数据包直到返回确认接收吗?它会发送一个数据包 4 次,并且只有在设定的时间间隔后没有确认时才再次发送?还是留给我编码?
【问题讨论】:
标签: javascript sockets networking webrtc
这是传输层的责任。 TCP 处理数据包丢失,而 UDP 不处理。默认情况下,WebRTC 使用 UDP,但它可以同时使用这两种协议。
DataChannel 使用另一种称为 SCTP 的协议,该协议在 UDP 之上实现。虽然假设您可以在设置中指定reliable 参数,但它在 Chrome 中还不起作用。
您可以在这里找到更详细的答案:Does WebRTC use TCP or UDP?
你也可以在这里找到一些信息:WebRTC. Real-Time Network Transports
【讨论】:
对于语音,它确实处理数据包丢失。
https://bloggeek.me/single-voice-codec-webrtc/ : “Opus 内置了 FEC 和流量控制机制”
【讨论】: