0

我有一个非常简单的利用 UDP 协议的通信。我想添加一些错误检查(可能是一个不受先前消息影响的哈希函数)。我知道 CRC 函数,但是在实现中我发现 CRC 计算受到以前消息的影响,这在我的情况下是不合适的,因为我的 UDP 通信中的某些数据可能无法到达。有谁知道可以满足我需求的可下载 CRC(也许我可以自己编写 CRC 检查,但不幸的是我的时间有点短)?是否有任何其他已知选项(.NET Framework 4.5 中已经存在的类/函数会很棒)。

感谢您的任何努力。

4

1 回答 1

2

一般来说,我想推荐使用 TCP。在那里,您不需要关心包的顺序是否正确,也不需要考虑校验和(因为它们是内置的)。TCP 具有所有内置功能,如果包丢失,TCP 也会触发重传或丢失的包。

但是,即使 UDP 具有内置校验和,您通常也不需要实现这样的 CRC 校验。另请参阅 wikipedia 中的数据包结构

如果你真的想在 damieng.com 上添加一个 crc检查这个实现,它看起来不错,但我没有检查它。

于 2013-04-27T10:04:54.567 回答