0

我注意到 sendto 和 recvfrom (UDP) 之间存在性能差异。我使用WiFi从服务器向客户端发送大约100Kbytes(估计双向带宽约为30Mb / s),发送时间约为4-5 ms(取决于,但这个值与理想值相当, 3 毫秒)。在客户端,接收时间要高出 15 倍,比如 50-60 毫秒。我希望这两个经过的时间非常相似。任何想法?

4

1 回答 1

1

发送时间约为 4-5 毫秒(视情况而定,但此值与理想值 3 毫秒相当)

30Mb/s(其中 b 表示bits)大约(考虑或考虑标头等)3 MB/s(其中 B 表示bytes)。传输 100kBytes 大约需要 30 毫秒。

sendto一旦将所有数据写入发送机器的网络堆栈的本地缓冲区,它就会返回。recv显然必须等待数据传输,包括延迟和所有协议层所需的东西。

于 2013-07-29T16:52:33.530 回答