繁体   English   中英

如何检查远程udp端口

[英]how to check a remote udp port

我想使用UDPClient检查到远程计算机的连接。 听说如果发生故障,它将返回一个icmp数据包。 我们怎样才能抓住它? 如何检查远程机器?

            UdpClient receivingUdpClient = new UdpClient();
            receivingUdpClient.Connect(IPAddress.Parse("10.2.2.13"), 80);

            Byte[] sendBytes = Encoding.ASCII.GetBytes("0");
            Var b=receivingUdpClient.Send(sendBytes, sendBytes.Length);

使用UDP,没有确定的方式来知道数据包是否到达其目的地(与TCP比较,TCP会发送ack数据包以使发送方知道其数据包已被接收)。

确实,在某些情况下会发送ICMP数据包 ,但是如果该数据包在路由路径中的某个位置被过滤掉(或只是丢弃了)怎么办? 据我了解,例如,大多数家用路由器都已预先配置为将所有ICMP丢弃在外部端口上。

您可以调查正在使用的协议是否具有PING数据包(或某些等效的无操作数据包,或者是否已创建协议-添加它),而不是依赖ICMP数据包,并将其与超时/重试逻辑一起使用验证服务是否可用。

暂无
暂无

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

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