我注意到sendto和recvfrom(UDP)之间存在性能差异。我使用WiFi从服务器向客户端发送大约100K字节(两个方向的估计带宽约为30Mb / s),发送时间约为4-5毫秒(取决于,但这个值与理想值相当) ,3ms)。在客户端,接收时间高出10到15倍,比如50-60ms。我希望两次经历的时间非常相似。有什么想法吗?
答案 0 :(得分:1)
,发送时间约为4-5 ms(取决于此值,但此值与理想值相差3ms)
30Mb / s(其中b表示位)近似(给予或考虑标题等)3 MB / s(其中B表示字节) 。传输100kBytes大约需要30毫秒。
sendto
在将所有数据写入发送计算机的网络堆栈的本地缓冲区后立即返回。 recv
显然必须等待传输数据,包括所有协议层所需的延迟和内容。