繁体   English   中英

C#udpclient响应缩短

[英]c# udpclient response cut short

当我使用netcat发送udp查询时,会得到完整的响应。 当我在C#中使用UDPCLIENT类时,我没有收到完整的响应,因此它被删减了。 这是我的代码

byte[] data = new byte[1024];
            string stringData;

            UdpClient server = new UdpClient(currentIP, currentport);

            IPEndPoint send = new IPEndPoint(IPAddress.Any, 0);

            string query = "\\players\\";
            data = Encoding.ASCII.GetBytes(query);
            server.Send(data, data.Length);

            data = server.Receive(ref send);


            stringData = Encoding.ASCII.GetString(data, 0, data.Length);

            MessageBox.Show(stringData);

如何增加接收缓冲区,以便存储完整的UDP响应?

首先:UDP不是保证协议; 信息很可能会丢失并且永远无法访问。

其次,仅仅因为您打电话给receive并不意味着您拥有了一切。 您需要继续接收和解析接收到的数据,直到碰巧正在使用的任何应用程序级别协议(在您的示例中似乎没有一个协议)告诉您是时候停止接收和处理消息了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM