2
我想在使用在線組件啓動任何活動之前檢查我的服務器是否在線。Android - 檢查外部服務器是否在線
我已經使用ping
runtime.exec("ping -c 1 google.com");
proc.waitFor();
int exit = proc.exitValue();
嘗試,但這個總是會給要麼退出代碼1或2,永遠不爲0,甚至當我知道服務器在線..
我也曾嘗試
Online=InetAddress.getByName("www.google.com").isReachable(10000);
但顯然這個功能是與外部服務器地獄,因此它也不起作用。
當然,檢查服務器是否在線等基本功能應該是非常簡單的?有沒有人有任何想法,我還沒有嘗試過呢?
如果服務器返回類似於500等的東西,但一旦它真的實現並且實際主機正常脫機,它通常會很好,因爲某種原因,它會導致應用程序崩潰:/(儘管事實上存在指定的超時和整個事情圍繞着try/catch) – alsandair
@ user530501:當您嘗試獲取'/ robots.txt'時,它會給您一個500返回代碼?苛刻。 – CommonsWare
是啊,其實你給了我這個想法,如果我只是檢查如果響應是空的,那麼到目前爲止工作得很好,乾杯:) – alsandair