使用C#从服务器实时接收UDP流的正确方法?
因此,我正在用C语言编写一个程序,其中服务器不断地向我(客户机)发送UDP数据报。1个数据报将转换为1行消息。目前,我一直在无限循环中调用Recieve方法,如下所示:使用C#从服务器实时接收UDP流的正确方法?,c#,winforms,sockets,udp,udpclient,C#,Winforms,Sockets,Udp,Udpclient,因此,我正在用C语言编写一个程序,其中服务器不断地向我(客户机)发送UDP数据报。1个数据报将转换为1行消息。目前,我一直在无限循环中调用Recieve方法,如下所示: IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0); while (true) { Byte[] receiveBytes = receivingUdpClient.Receive(ref RemoteIpEndPoint); retu
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
while (true)
{
Byte[] receiveBytes = receivingUdpClient.Receive(ref RemoteIpEndPoint);
returnData = Encoding.ASCII.GetString(receiveBytes);
}
我调用循环中的另一个方法来处理另一个线程中的returnData。但这是接收发送给我的恒定流的正确方法吗?我注意到我收到的消息的频率与实际服务器设置的发送频率不同。谢谢你的帮助
干杯。UDP是面向连接的协议,这意味着接收的数据包可能与发送的顺序不一致;数据包也可能在没有任何信息或提示的情况下丢失。如果您需要确保收到所有数据包,则有两个主要选项:
你说频率不同是什么意思?你到底在看什么?非常感谢。回答得很好,正是我需要的。