udp socket 发送数据返回值成功,但客户端未收到数据,tcpdump也无法捕获数据包


今天碰到个很奇怪的现象,用UDP发送的数据所有都返回成功,其中部分前面部分数据客户端收到数据,tcpdump也捕获数据包,但是后面有大部分数据客户端未收到数据,tcpdump也无法捕获数据包,在发送数据之间稍微间隔一点时间就能全部发送出去。望大家指点个方向,有可能是什么引起这种问题?

编码 C++

Vincy、 10 years, 7 months ago

对于Socket接口来说,将数据放进系统的发送缓冲区就返回成功了。对于UDP协议来说,并不能保证可靠的交付,没有重传机制,所以丢失数据是正常的。

如果你做的应用在网络不好的情况下是不允许丢失数据包的,则需要使用TCP协议。

嗶哩哩嗶哩 answered 10 years, 7 months ago

Your Answer