Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sendto和recvfrom之间的性能不同_C_Sockets_Udp_Sendto_Elapsedtime - Fatal编程技术网

sendto和recvfrom之间的性能不同

sendto和recvfrom之间的性能不同,c,sockets,udp,sendto,elapsedtime,C,Sockets,Udp,Sendto,Elapsedtime,我注意到sendto和recvfrom(UDP)之间的性能存在差异。我使用WiFi从服务器向客户端发送约100KB的数据(估计双向带宽约为30Mb/s),发送时间约为4-5ms(视情况而定,但该值与理想值3ms相当)。在客户机上,接收时间要高出十到十五倍,比如50-60毫秒。我希望这两个经过的时间非常相似。有什么想法吗 发送时间约为4-5ms(视情况而定,但该值与理想值3ms相当) 30Mb/s(其中b表示位)约为3mb/s(给出或考虑报头等)(其中b表示字节)。传输100kBytes大约需要3

我注意到sendto和recvfrom(UDP)之间的性能存在差异。我使用WiFi从服务器向客户端发送约100KB的数据(估计双向带宽约为30Mb/s),发送时间约为4-5ms(视情况而定,但该值与理想值3ms相当)。在客户机上,接收时间要高出十到十五倍,比如50-60毫秒。我希望这两个经过的时间非常相似。有什么想法吗

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

30Mb/s(其中b表示)约为3mb/s(给出或考虑报头等)(其中b表示字节)。传输100kBytes大约需要30毫秒


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

很抱歉错误的发送时间估计。因此,如果4-5毫秒的运行时间实际上是将数据写入本地缓冲区的时间,那么即使所有数据没有实际发送,sendto也会返回?