[英]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.