【发布时间】:2010-03-09 01:00:28
【问题描述】:
我正在用 C# 构建 UDP 服务器应用程序。我遇到了数据包校验和问题。
您可能知道,每个数据包都应该携带一些简单的方法来告诉接收者数据包数据是否完整。
现在,UDP 已经将 2 字节校验和作为标头的一部分,这是可选的,至少在 IPv4 世界中是这样。另一种方法是将自定义校验和作为每个数据包中数据部分的一部分,并在接收器上进行验证。
我的问题归结为:是在 UDP 数据包标头中依赖(可选)校验和,还是将自定义校验和实现作为数据包数据部分的一部分?
也许正确答案取决于具体情况(和往常一样),所以这里的一种情况是,即使代码是在 Windows 上用 .NET 编写和开发的,它可能必须在平台下运行 -独立的 Mono.NET,因此最终的解决方案应该与其他平台兼容。我相信自定义校验和算法很容易移植,但我不太确定第一个。
有什么想法吗?
此外,欢迎对数据包校验和大喊大叫。
【问题讨论】:
标签: .net mono cross-platform network-programming udp