使用WebSockets或WebRTC发送的数据是否需要CRC?

时间:2018-04-24 07:57:27

标签: javascript websocket network-programming webrtc crc

我读过某些地方,当您通过普通UDP发送数据时,必须使用循环冗余检查来检测数据在接收时是否未损坏。

这也是WebSockets和WebRTC所必需的,或者Web浏览器是否也需要这样做?

1 个答案:

答案 0 :(得分:1)

您不能将纯UDP与WebRTC一起使用:

  • WebSockets通过TCP工作。查看RFC 793, page 16,有一个校验和。因此,它是安全的。
  • WebRTC数据通道通过UDP在SCTP上工作。关注SCTP的RFC 4960, page 90
  

当发送SCTP数据包时,端点必须加强数据   通过包括CRC32c校验和值来实现传输的完整性   根据数据包计算,如下所述。

这意味着,通过RTCDataChannel发送的所有数据包都已经有CRC,并且到达目的地的所有数据包都没有损坏。 因此,它也是安全的。

请记住:

  • reliable: true:检测并处理数据包丢失(重新传输)
  • reliable: false:未检测到数据包丢失。