我有一个奇怪的问题。我在android上做了以下测试:
我=0;
而(我< PACKET_NUMBER)
{
//UDP发送数据包
if( sendto(sockfd,buffer,strlen(buffer),0, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) <= 0)
{
error("通过udp向远程主机发送数据包失败\ n");
}
我++;
}
我用不同的缓冲区大小做了这个测试。当缓冲区大小小于一个数字(应该在 500 字节左右)时,无论我选择哪种大小,例如 20 40 80 160 320 ,while 语句都可以在几乎相同的时间内执行,例如 3 分 10 秒。但是,当数据包大小大于 500 时,例如 510 520 600 1280,while 语句的执行时间要长得多,例如超过 10 分钟。谁能给我一些关于原因的提示?