[C# ] 执行ping命令,获得网络状态

代码:

string  ipStr = "192.168.1.10";            
Ping p1 = new Ping();
PingReply reply = p1.Send(ip);


reply返回的状态:


public enum IPStatus
    {
        //
        // 摘要:
        //     The ICMP echo request succeeded; an ICMP echo reply was received. When you get
        //     this status code, the other System.Net.NetworkInformation.PingReply properties
        //     contain valid data.
        Success = 0,
        //
        // 摘要:
        //     The ICMP echo request failed because the network that contains the destination
        //     computer is not reachable.
        DestinationNetworkUnreachable = 11002,
        //
        // 摘要:
        //     The ICMP echo request failed because the destination computer is not reachable.
        DestinationHostUnreachable = 11003,
        //
        // 摘要:
        //     The ICMP echo request failed because the destination computer that is specified
        //     in an ICMP echo message is not reachable, because it does not support the packet's
        //     protocol.
        DestinationProtocolUnreachable = 11004,
        //
        // 摘要:
        //     The ICMP echo request failed because the port on the destination computer is
        //     not available.
        DestinationPortUnreachable = 11005,
        //
        // 摘要:
        //     The ICMP echo request failed because contact with the destination computer is
        //     administratively prohibited.
        DestinationProhibited = 11004,
        //
        // 摘要:
        //     The ICMP echo request failed because of insufficient network resources.
        NoResources = 11006,
        //
        // 摘要:
        //     The ICMP echo request failed because it contains an invalid option.
        BadOption = 11007,
        //
        // 摘要:
        //     The ICMP echo request failed because of a hardware error.
        HardwareError = 11008,
        //
        // 摘要:
        //     The ICMP echo request failed because the packet containing the request is larger
        //     than the maximum transmission unit (MTU) of a node (router or gateway) located
        //     between the source and destination. The MTU defines the maximum size of a transmittable
        //     packet.
        PacketTooBig = 11009,
        //
        // 摘要:
        //     The ICMP echo Reply was not received within the allotted time. The default time
        //     allowed for replies is 5 seconds. You can change this value using the Overload:System.Net.NetworkInformation.Ping.Send
        //     or Overload:System.Net.NetworkInformation.Ping.SendAsync methods that take a
        //     timeout parameter.
        TimedOut = 11010,
        //
        // 摘要:
        //     The ICMP echo request failed because there is no valid route between the source
        //     and destination computers.
        BadRoute = 11012,
        //
        // 摘要:
        //     The ICMP echo request failed because its Time to Live (TTL) value reached zero,
        //     causing the forwarding node (router or gateway) to discard the packet.
        TtlExpired = 11013,
        //
        // 摘要:
        //     The ICMP echo request failed because the packet was divided into fragments for
        //     transmission and all of the fragments were not received within the time allotted
        //     for reassembly. RFC 2460 (available at www.ietf.org) specifies 60 seconds as
        //     the time limit within which all packet fragments must be received.
        TtlReassemblyTimeExceeded = 11014,
        //
        // 摘要:
        //     The ICMP echo request failed because a node (router or gateway) encountered problems
        //     while processing the packet header. This is the status if, for example, the header
        //     contains invalid field data or an unrecognized option.
        ParameterProblem = 11015,
        //
        // 摘要:
        //     The ICMP echo request failed because the packet was discarded. This occurs when
        //     the source computer's output queue has insufficient storage space, or when packets
        //     arrive at the destination too quickly to be processed.
        SourceQuench = 11016,
        //
        // 摘要:
        //     The ICMP echo request failed because the destination IP address cannot receive
        //     ICMP echo requests or should never appear in the destination address field of
        //     any IP datagram. For example, calling Overload:System.Net.NetworkInformation.Ping.Send
        //     and specifying IP address "000.0.0.0" returns this status.
        BadDestination = 11018,
        //
        // 摘要:
        //     The ICMP echo request failed because the destination computer that is specified
        //     in an ICMP echo message is not reachable; the exact cause of problem is unknown.
        DestinationUnreachable = 11040,
        //
        // 摘要:
        //     The ICMP echo request failed because its Time to Live (TTL) value reached zero,
        //     causing the forwarding node (router or gateway) to discard the packet.
        TimeExceeded = 11041,
        //
        // 摘要:
        //     The ICMP echo request failed because the header is invalid.
        BadHeader = 11042,
        //
        // 摘要:
        //     The ICMP echo request failed because the Next Header field does not contain a
        //     recognized value. The Next Header field indicates the extension header type (if
        //     present) or the protocol above the IP layer, for example, TCP or UDP.
        UnrecognizedNextHeader = 11043,
        //
        // 摘要:
        //     The ICMP echo request failed because of an ICMP protocol error.
        IcmpError = 11044,
        //
        // 摘要:
        //     The ICMP echo request failed because the source address and destination address
        //     that are specified in an ICMP echo message are not in the same scope. This is
        //     typically caused by a router forwarding a packet using an interface that is outside
        //     the scope of the source address. Address scopes (link-local, site-local, and
        //     global scope) determine where on the network an address is valid.
        DestinationScopeMismatch = 11045,
        //
        // 摘要:
        //     The ICMP echo request failed for an unknown reason.
        Unknown = -1
    }

你可能感兴趣的:(c#,网络,服务器)