UDP传输性能

时间:2011-04-04 14:28:21

标签: udp

我有一个应用程序在循环中传输一些数据。 底层协议是WinSock上的UDP。如果我在每次传输操作后都没有添加睡眠(1ms),那么大部分数据都不会被发送(或者wireshark无法捕获它)你是否经历过这样的行为,UDP不能处理循环中的重复发送?

此致

Tugrul

1 个答案:

答案 0 :(得分:1)

首先,您应该在发送数据时检查返回值,以检查数据是否成功发送。 第二件事,这可能发生UDP的内部缓冲区无法容纳更多数据,因为之前的数据尚未传输。所以最简单的解决方案是,每次发送数据之前,都应检查UDP套接字是否可写。您可以通过在该UDP套接字上调用“select”或“poll”来执行此操作。