我需要檢查某個服務是否在特定的IP:PORT/service /上運行,如果它沒有回退到另一個服務。我正在應用程序中的一個位置執行此操作。Android檢查端口上是否有WebService可用
有沒有辦法只是PING它,如果它的活着,而不是試圖發送一個有效的請求,並捕獲一個可能的IO錯誤?
我需要檢查某個服務是否在特定的IP:PORT/service /上運行,如果它沒有回退到另一個服務。我正在應用程序中的一個位置執行此操作。Android檢查端口上是否有WebService可用
有沒有辦法只是PING它,如果它的活着,而不是試圖發送一個有效的請求,並捕獲一個可能的IO錯誤?
我解決這個問題的方法是:
我們實施在後臺的Ping方法/service/ping
,其狀態爲HTTP_OK (200)
。我通過每個需要測試的IP地址來測試一個非常短的連接超時集,並查看我是否到達一個接收成功連接(返回狀態爲200)的地址。
我不得不通過本地WiFi網絡上的所有IP,並找到我的本地網絡服務託管在哪裏。由於設備連接到同一個wifi網絡,我設置了200ms的連接超時,這足以確保檢查速度很快。
請參閱接受的答案爲Web服務的可用性檢查這個問題,如果web服務是不是有(其他條件),那麼試着回退連接