问题描述
我想ping远程主机并获取他的状态,我创建了这样的函数:
public async Task<Boolean> Connect_Test(string ip,int port)
{
var isReachable = await CrossConnectivity.Current.IsReachable(ip,port);
if (isReachable == true)
{
return true;
}
else
{
return false;
}
}
我这样称呼这个函数:
var connect = Connect_Test(adres_ip,4210).Result;
if (connect==true)
{
//Alert is reachable
}
else
{
//Alert not reachable
}
执行此代码后,我的应用程序冻结,并且不返回远程主机状态的值。
解决方法
我从连接插件中使用了错误的方法,正确的方法是IsRemoteReachable。问题解决了。