我正在尝试在C#中接收到UDP消息的ICMP响应“端口不可达”,这是我正在尝试执行的操作:

IPEndPoint remoteEndpoint = new IPEndPoint(IPAddress.Parse("192.168.211.133"), 0);
var udpClient = new UdpClient("192.168.211.133", 20);
Byte[] messagebyte = Encoding.Default.GetBytes("hi".ToCharArray());
int s = udpClient.Send(messagebyte, messagebyte.Length);
Byte[] ReceiveBuffer = new Byte[256];
ReceiveBuffer = udpClient.Receive(ref remoteEndpoint);


但是程序卡在了

ReceiveBuffer = udpClient.Receive(ref remoteEndpoint);


我究竟做错了什么?

请帮我!

最佳答案

UDP的全部要点是可能没有响应。经过一定时间后,您需要假定目标不可读。

看看这个other question

关于c# - 如何在C#中接收到UDP消息的ICMP响应“端口不可达”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16156416/

10-10 05:12