确认数据包的更快方法是什么以及如何避免数据包丢失?

时间:2012-01-19 11:04:22

标签: c# sockets time udp

我在c#中申请。在该应用程序中,我正在接收特定端口上的数据

UdpClient client = null;
 IPEndPoint ipep = null;
 client = new UdpClient(24097); 
 client.Client.ReceiveBufferSize = 25000;
 ipep = new IPEndPoint(IPAddress.Any,24097);
while(flag)
{
  byte[] data= = client.Receive(ref ipep);
  SendAck(data);
}

public void SendAck(byte[] data)
{
    //Some code for making ack buffer
socket.SendTo(buffer,endpoint);
}

在该应用程序中,我想手动发送收到数据包的确认。但我的问题是,在做出确认的时候,有些数据会因为主线程忙于确认而丢失。请建议我任何其他解决方案。谢谢。

1 个答案:

答案 0 :(得分:1)

对于您可用的问题,有一个简单的,经过充分记录,经过实战检验的解决方案,已经移植到任何相关的操作系统:它被称为TCP