UDP接收多个文件包为什么会丢包?
客户端使用linux,服务器系统是windows2000
服务器的udp服务器使用控件TIDUdpServer
linux的udp客户端用c写的
客户端向服务器发送20个数据包,每个大小为1k,确认20个数据包都已经发送
可是服务器收到的数据包个数不是20个
我试了5回,个数分别是10,7,13,15,17
这是怎么回事?
TIDUdpServer的接收代码如下:
void __fastcall TForm1::udpserver1UDPRead(TObject *Sender, TStream *AData,
TIdSocketHandle *ABinding)
{
int size;
char Buf[1200];
memset(Buf,0,1200);
size=AData->Size;
AData->ReadBuffer(Buf,size);
Buf[size]=0;
fwrite(Buf,sizeof(char),size,out); //out是我之前初始化过的FILE *类型
m++;
edt1->Text=m;
}