我有带有序列号的消息数据结构,并在 udp 数据包中发送它们。由于 udp,消息可能会以错误的顺序获取。我一般会跳过这个乱序消息。但我想添加一个容差,例如网络中的平均延迟。例如延迟=10 秒。当我在 seq=4 到达 5 秒后得到 seq=3 时。我将假设这是一个竞争条件并接受 seq=3 的消息。如果 seq=3 也到达了,我也应该删除 seq=3,因为我的协议中可能有重传。
您是否更喜欢更好的处理方案来处理由 udp 中的竞争条件导致的乱序数据包?或者是否存在具有相同行为的众所周知的应用程序逻辑(或协议)?
必须条件:udp,丢弃相同的seq。
谢谢。