我有一个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);
}
}
}
我们已将此应用程序部署到与目标计算机位于同一网络内的服务器上。这就是为什么这种方法检查内部连接的原因。有没有办法检查服务器外部连接?因为有时服务器连接在我们的网络中可用,尽管来自外部网络的连接已关闭。我怎样才能做到这一点?
答案 0 :(得分:2)
不,没有,因为你自己在服务器上。
在外部ping一些资源以检查连接,或使用NetworkInterface.GetIsNetworkAvailable()
方法检查是否存在活动连接。