C# Ping Xamarin.iOS中的内部IP

C# Ping Xamarin.iOS中的内部IP,c#,ios,xamarin.ios,ping,C#,Ios,Xamarin.ios,Ping,我有一个在IP上运行的小型自定义打印机,我希望能够ping该设备,以确保它在我的Xamarin.iOS应用程序中处于活动状态。使用可达性,即使打印机没有连接到网络,我也会得到一个“真实”的结果。我尝试过使用Ping类,但它根本不起作用。我看到了一些使用SimplePing的建议,但Xamarin最近似乎没有一个端口 我认为从Xamarin.iOS应用程序ping一个IP是微不足道的。我错过什么了吗 //Doesn't work on the device public static void C

我有一个在IP上运行的小型自定义打印机,我希望能够ping该设备,以确保它在我的Xamarin.iOS应用程序中处于活动状态。使用可达性,即使打印机没有连接到网络,我也会得到一个“真实”的结果。我尝试过使用Ping类,但它根本不起作用。我看到了一些使用SimplePing的建议,但Xamarin最近似乎没有一个端口

我认为从Xamarin.iOS应用程序ping一个IP是微不足道的。我错过什么了吗

//Doesn't work on the device
public static void CheckBPStatus(string bpIP, SideMenuCallback callback)
    {
        Ping ping = new Ping();

        Task.Run(async () =>
        {
            var result = await ping.SendPingAsync(bpIP);
            if (result.Status == IPStatus.Success)
            {
                callback.BpStatusReceived(true);
            }
            callback.BpStatusReceived(false);
        });
    }

如果ping类失败,并且您知道打印机正在侦听哪个端口,您可以模拟ping,只需尝试创建到打印机的TCP连接,如果失败,则不会连接。@Gusman谢谢,我将暂时这样做。问题是,当TCP连接打开时,它将阻止任何打印请求。我知道它只被阻塞了很短的一段时间,但我更喜欢简单的ping。不知道为什么这是一个限制