0

我曾尝试在此参考 中使用像“CNLSH”先生这样的 OpenNETCF 进行 ping 操作,如果主机可用,它可以正常工作。如果不是,pingReply.Status 永远不会变为假,因为我会从 send-Method 获得异常(无法发送包)。是否有可能在没有 try/catch 的情况下工作?

    public static bool pingIP(String s_ip)
    {
        Ping ping = new Ping();
        PingReply pingReply;
        try
        {
            pingReply = ping.Send(s_ip,500);
        }
        catch (Exception)
        {
            System.Diagnostics.Debug.WriteLine("could not connect to " + s_ip);
            return false;
        }
        if (pingReply.Status == IPStatus.Success)
            return true;
        else return false;
    }
4

1 回答 1

0

不,您需要捕获异常。此外,Ping 类是一次性的,因此您应该在完成后将其丢弃。

using(Ping ping = new Ping())
{
    /* ... */
}

见:http ://www.opennetcf.com/library/sdf/html/7555257b-b797-37d3-ff61-4e90f731be99.htm

于 2013-12-04T17:59:30.433 回答