簡體   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