C# Ping到服务器以实现外部连接

C# Ping到服务器以实现外部连接,c#,ping,C#,Ping,我有一个c#应用程序,它有一个用于检查服务器连接的模块。相关代码如下所示: private void PingCheck(string hostName) { using (var p = new Ping()) { try { var pr = p.Send(hostName, 2000); if (pr.Status != IPStatus.Success) {

我有一个c#应用程序,它有一个用于检查服务器连接的模块。相关代码如下所示:

private void PingCheck(string hostName)
{
    using (var p = new Ping())
    {
        try
        {
            var pr = p.Send(hostName, 2000);

            if (pr.Status != IPStatus.Success)
            {
                log.ErrorFormat("Ping error! Host = {0},  Ping status = {1}", hostName, pr.Status.ToString());
            }
        }
        catch (Exception exc)
        {
            log.Error("Ping error!", exc);
        }
    }
}    

我们已将此应用程序部署到与目标机器位于同一网络内的服务器上。这就是为什么此方法检查内部连接。有没有办法检查服务器的外部连接?因为有时,虽然外部网络的连接已关闭,但我们的网络中仍然可以使用服务器连接。如何实现这一点?

不,没有,因为您在服务器上


ping一些外部资源以检查连接,或者使用该方法检查是否存在活动连接。

您是否尝试使用外部ip作为主机名???ping非常简单,您只需要提供一个ip(其他参数是可选的,通常不改变您只需要一个ip来ping它的事实)。因此,就我所知,将IP更改为外部IP应该足以使其正常工作。