问题描述
我已经开发了一个使用Windivert dll捕获数据包的应用程序。当收到 [FIN] 数据包时,它将接收将合并的数据段。由于某些网络问题,有时无法接收到数据包。合并数据包的各个段时,是否有任何方法可以验证是否接收到所有段,从而避免丢失任何数据?我尝试使用序列号,但找不到任何可以验证的订单
以下是我的数据流(段):
1. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 3464538165 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
2. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 3867322421 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
3. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 4270106677 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
4. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 377989173 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
5. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 780773429 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
6. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 1183557685 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
7. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 1586341941 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
8. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 1989126197 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
9. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 2391910453 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
10. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 2794694709 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
11. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 3197478965 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
12. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 3600263221 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
13. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 4003047477 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
14. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 110929973 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
15. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 513714229 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
16. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 916498485 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
17. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 1319282741 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
18. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 1722066997 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
19. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 2124851253 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 536
20. sourceKey : 127.0.0.1:55736 | parsedPacket.TcpseqNum: 2527635509 | parsedPacket.TcpAckNum: 16777216 | parsedPacket.PayloadLength: 189
以上是接收到的完整数据流。如果其中一个数据包丢失,该如何验证?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)