尝试ping服务器时TtlExpired状态

时间:2016-01-04 12:56:39

标签: c# .net xamarin ping

我使用下面的代码来检查服务器是否可用

bool isReachable = false;

        Ping pinger = new Ping();
        try
        {
            PingOptions opt = new PingOptions(255, false);
            PingReply reply = pinger.Send("www.stackoverflow.com", 1000, new byte[32], opt);

            isReachable = reply.Status == IPStatus.Success;
        }
        catch (PingException)
        {
            // Discard PingExceptions and return false;
        }

我没有从服务器获得成功状态,而是获得 System.Net.NetworkInformation.IPStatus.TtlExpired

我尝试了不同的主机,例如www.google.com,www.wikipedia.org,但没有从服务器获得成功状态。我可以在命令提示符下ping而没有任何问题

我试过没有ttl选项,但只有相同的响应。

PingReply reply = pinger.Send("www.stackoverflow.com");
isReachable = reply.Status == IPStatus.Success;

1 个答案:

答案 0 :(得分:0)

            PingReply reply = pinger.Send("www.google.com/");

应该是

            PingReply reply = pinger.Send("www.google.com");