C# UDP丢包问题

2025-04-27 13:15:01
推荐回答(4个)
回答1:

丢包问题你完全没必要考虑,那是底层做的事情,对你来说是透明的,即使丢包也会再此发包,不会对你上层代码有影响,也就是说你用C#的传输时候可以理解为正确且完整的传输,所以总结下就是你代码的问题

回答2:

关键字:断点
在代码的可疑之处,设置多个断点
然后在运行调试代码的时候
一步一步的查看每条代码获取到的值
然后把这个值和预期值进行比较
每条代码获取到的值都是非常明显的
可以很清晰的看出问题所在
哪里丢包一下就能看出来
你试试吧

回答3:

会不会是发送端丢掉了?可能是长时间不发包之后,ARP过时丢弃,再发包时需要先获取接收端的ARP,
而发的包因为没有ARP而丢弃了。

回答4:

缓冲字节不够长,建议加长缓冲并在循环结束时清空缓冲以及对接受字节末尾加校验字节,并加校验语句。