2013-07-30 648 views
4

不工作在我的Android應用程序,我已經使用帶有相應選項的ping命令下面的鏈接中提到: http://linux.about.com/od/commands/l/blcmdl8_ping.htmPing超時命令-W爲Android

所有其他選項,不同的是-W這是超時工作。

我使用這個命令來ping 5秒超時:ping 131.107.8.1 -W 5 我相信這應該給5秒後「請求超時」。我還使用「測試平臺」應用程序對其進行了測試,但它在那裏也失敗了。

在我的Windows機器,我使用相同的IP這個命令:ping 131.107.8.1 -w 7000 它正確地給7000msec後「請求超時」。

任何指針,我錯過了這個概念?

回答

2

我並不完全確定Android的Ping的實現,但在Linux上,標誌ping -wping -W有非常不同的操作。

在這種情況下,您使用的是ping -W,它等待網絡發生超時。根據手冊頁:

-W timeout 等待響應的時間,以秒爲單位。該選項隻影響 超時的任何響應,否則ping等待 兩個RTT。

我相信你試圖做的是爲Ping命令設置一個截止日期, ping -w如再次手冊頁描述:

-w期限 指定超時,在幾秒鐘內,無論平退出前的 多少數據包被髮送或接收。在這種情況下,ping 不會在發送計數數據包後停止,而是等待 截止日期到期或者直到計數探測器被應答或者從網絡發出一些 錯誤通知。

0

Ping超時只在IP地址確定後纔開始。如果 您的工作站處於脫機狀態,則ping無法確定IP地址 ,因此似乎在 返回false之前等待大約默認的20秒。

來源:https://serverfault.com/a/739873/156789