UDP效率问题,在线等
u2m 2005-01-25 12:31:06 简单的使用UDP测试网络丢包及收发效率,发现一个奇怪的现象,如果网络测试仪加Linux下测试程序测试则丢包很少,提高网络速度丢包的现象也不是很明显。
但使用网络测试仪加Windows下的测试程序发现在网速不是很快的情况下丢包不多,效率还可以。但提高网速后,发现丢包现象较之Linux多了非常多。不解。各位有熟悉情况的吗?给出帮助立即揭帖。
附简单的测试代码
struct sockaddr_in local;
struct sockaddr_in from;
int recvlength;
int fromlen =sizeof(from);
local.sin_family=AF_INET;
local.sin_port=htons(5000); ///¼àÌý¶Ë¿Ú
local.sin_addr.s_addr=INADDR_ANY; ///±¾»ú
socket1=socket(AF_INET,SOCK_DGRAM,0);
bind(socket1,(struct sockaddr*)&local,sizeof(local));
while (1)
{
char buffer[2000]="\0";
if ((recvlength=recvfrom(socket1,buffer,2000,0,(struct sockaddr*)&from,&fromlen))!=-1)
{
sendto(socket1,buffer,recvlength,0,(struct sockaddr*)&from,fromlen);
}
else
;//printf("Data lost");
}
closesocket(socket1);