c# - 如何在 C# 中接收对 UDP 消息的 ICMP 响应 "Port unreachable"

标签 c# udp icmp

我正在尝试在 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 响应 "Port unreachable",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16156416/

相关文章:

c - 发送 UDP 数据包并从 C 中的路由器接收 ICMP 响应

c# - 找不到初始化文件 gs_init.ps

c# - 升级到 3.1 c# 时请求实体为空

c# - 为什么IE显示网页无法显示信息

c++ - 如何使用 Winsock LSP 修改出站 UDP 流量?

C套接字发送UDP并处理来自路由器的ICMP回复

c# - 如何将 c# 时区 id 转换为 python 可接受的 id?

c - 通过同一台机器上的 UDP 套接字发送数据是否可靠?

sockets - UDP 连接和安全

c++ - 计算 ICMP 数据包校验和