2013-07-29 52 views
0

我注意到sendto和recvfrom(UDP)之间的性能有差异。我使用WiFi向服务器发送大约100K字节的数据给客户端(两个方向估计的带宽大约为30Mb/s),发送时间大约为4-5毫秒(具体取决于,但是这个值与理想值相当,3ms)。在客户端,接收时间高出10-15倍,如50-60ms。我想让这两个时间非常相似。任何想法?Sendto和recvfrom之间的不同性能

回答

1

和发送时间是大约4-5毫秒(这取决于,但该值是可比的理想的,3毫秒)

30MB/s(其中的B表示比特)大约是(考虑到标题等)3MB/s(其中B表示字节)。传输100kBytes大概需要30毫秒。

sendto在将所有数据写入发送机器的网络堆栈的本地缓冲区后立即返回。显然,必须等待数据传输,包括所有协议层所需的延迟和内容。

+0

对不起,发送时间估计不好。所以,如果4-5 ms的实际时间实际上是将数据写入本地缓冲区的时间,那么即使所有数据都没有实际发送,sendto也会返回? – user2485792

相关问题