请教: 关于TCP/IP接收数据Receive()
远志999 2012-05-14 09:02:59 现有一台主机作为客户端通过网线分别与4个设备相连
分别发送请求,然后接收响应,有什么方法使得效率最高?
目前我是这么做的,感觉特别慢,还有个问题,如果100M的带宽,读100个字节的数据,大概需要多少时间?
SendPackage03_ACQ()
{
//4个设备的数据在不停的更新,如果不及时读取数据,就会丢失其中的一部分
//一次将4个设备的数据全部读完,并且是依次对每个设备先发送请求,然后读其响应的数据
for(int i=0;i<4;i++)
{
send(i); //发送请求
sleep(30); //等待一段时间30ms
receive(i); //接收响应 ,对每个设备需要读取100多个字节的数据
}
这里当第一个数据交换完毕以后,有可能第二,三,四个设备,有的数据包已经不丢失。
}
while(1)
{
SendPackage() //发送请求;
Sleep(500); // 等待一段时间,发下一个数据包
}