C# .NET中的高UDP包丢失
我有以下方法:C# .NET中的高UDP包丢失,c#,.net,sockets,udp,C#,.net,Sockets,Udp,我有以下方法: public void SendUDP(IEnumerable<byte[]> data) { var udpClient = new UdpClient(); var endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 55555); foreach (var message in data) { udpClient.Send(message, message
public void SendUDP(IEnumerable<byte[]> data)
{
var udpClient = new UdpClient();
var endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 55555);
foreach (var message in data)
{
udpClient.Send(message, message.Length, endPoint);
}
}
没有更多的包裹丢失。不过,执行时间会急剧增加。有人能告诉我,我做错了什么吗?欢迎来到Stack Overflow。请阅读并分享你的研究成果。这是由缓冲区空间造成的:一旦发送缓冲区已满,其他邮件将被自动删除。@CodeCaster感谢您的回复!也许你能帮我解决问题?当缓冲区已满或类似情况时刷新缓冲区?我已经搜索了所有相关的问题,但没有发现任何对我有帮助的东西……不要发送数据的速度超过处理数据的速度。
foreach (var message in data)
{
udpClient.Send(message, message.Length, endPoint);
Console.WriteLine("Delay");
}