繁体   English   中英

如何检查PCL项目xamarin中是否可以访问服务器?

[英]How to check if server is reachable in PCL project xamarin?

我一直在寻找测试或检查我的设备和包含我的数据库的服务器之间的连接的解决方案。 注意:我想在我的PCL项目上实现解决方案。

你可以使用James Montemagno的Connectivity Plugin

您可以通过呼叫检查您使用的设备是否已连接;

bool isConnected = CrossConnectivity.Current.IsConnected;

或者,您可以“ping”服务器以查看是否可以访问它。 你可以这样做:

var isReachable = await CrossConnectivity.Current.IsReachable("google.com", 5000);

您还可以提供IP地址。 第二个参数是超时,默认为5秒。 还有特定的IsRemoteReachable方法,您也可以指定端口号。

该库可用于PCL。

注意; 为Android您需要ACCESS_NETWORK_STATEACCESS_WIFI_STATE权限,它应该会自动当您安装NuGet包添加。

在大多数情况下,它使用ICMP ping完成。 您可以每1-5秒ping一次服务器,具体取决于您的应用程序。 但我建议使用多播地址并从服务器ping那个,因为性能和安全原因(最后一个也需要在服务器端配置防火墙)。 如果某些回复(至少3个)未到达目标主机,您可以确定连接丢失。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM