udp丢包问题讨论今天写了一个UDP测试程序,在同一台服务上启动客户端和服务端,客户端循环发10万个包,但服务
udp丢包问题讨论
今天写了一个UDP测试程序,在同一台服务上启动客户端和服务端,客户端循环发10万个包,但服务端只收到4千多个包,丢包太严重,但如果我有客户端每隔1秒才发一个包这就不就会有丢包,我不明白丢包为什么这么严重。
[解决办法]
UDP本来就是不可靠的
传这么多数据,最好使用TCP
[解决办法]
[解决办法]
带宽不够吧
[解决办法]
linux?
调一下
/proc/sys/net/core/rmem_default
/proc/sys/net/core/wmem_default
/proc/sys/net/core/rmem_max
/proc/sys/net/core/wmem_max
四个参数的大小。
[解决办法]
弄个抓包工具分析一下,看看具体丢在那层了。
[解决办法]
同一机器似乎不走网卡,直接内核copy了。你用的是阻塞IO吧
[解决办法]
单机丢包只能因为缓冲区满了,发慢一点就可以了。
如果是不同机器间通信,UDP是不可靠的,请使用开源开发库UDT,其在UDP协议上封装了TCP机制,是完全可靠的,用于视频传输可以跑满带宽,并且对服务器要求较TCP小的多。
[解决办法]
