我正在使用UDP套接字。服务器应用程序向客户端发送有关客户端应将数据传输到服务器多长时间的信息。然后,客户端在这段时间内通过发送特定的数据包开始传输。
所以我需要一种方法来确定数据是否在Sendto()之后发送到线路,以了解客户端实际发送了多少时间。它存在吗?
操作系统:Windows 7
我尝试使用性能计数器(网络接口 \ 输出队列长度),但它始终为 0;
我知道的另一种方法是将 SO_SNDBUF ( setsockopt() ) 设置为要发送的数据包的大小。因此sendto()会阻塞,直到发送套接字缓冲区已满(前一个数据包未发送到网络接口缓冲区)。但似乎它不起作用,只是因为它只适用于套接字缓冲区而不是网络接口缓冲区。
我也对 Linux 的解决方案感兴趣。