如何测试远程UDP端口

Jam*_*are 1 .net c# windows

我正在寻找一种简单的方法来查看服务器上是否打开了远程UDP端口

Yah*_*hia 8

要注意的是几个防火墙/网络设置/ IDS等可能影响结果......下面的方法不是100%可靠的,但它与UDP恕我直言,唯一可行的方法(因为UDP是无连接的).

您可以使用UdpClient,在底层套接字设置接收超时,建立与该远程服务器/端口的连接,一些小消息(!)和调用.Sendbyte[]Receive

如果端口是关闭的,你得到一个异常说,连接被强行关闭(SocketExceptionErrorCode10054 = WSAECONNRESET)...这意味着端口未打开.

否则,您会收到答复或超时异常 - 两者都应解释为"UDP端口已打开".

  • 我在局域网中的所有设备上都尝试过,无论端口是否打开,我总是遇到超时。太糟糕了。 (2认同)