我想发送一个字节数组 X 次,直到达到缓冲区大小。我的客户端发送字节数组,直到缓冲区大小已满。但问题是数据包丢失,服务器只收到缓冲区大小的 8/10。
客户:
while(writeSize < bufferSize)
{
bytes_sent += sendto(servSocket, package, sizeof(package), 0, (struct sockaddr *)&server, sizeof(server));
writeSize+= sizeof(package);
}
服务器:
while(packetSize < bufferSize)
{
bytes_recv += recvfrom(servSocket, package, sizeof(package), 0, (struct sockaddr*)&client, &size);
packetSize += sizeof(package);
printf("Bytes recieved: %d\n", bytes_recv);
}
我真的无法想出解决这个问题的办法。当客户端已经发送了所有包,并且服务器遭受包丢失时,while循环不会结束,有什么想法可以解决这个问题吗?
非常感谢