在我的Android应用程序中,我使用了ping命令,并在下面的链接中提到了相应的选项: http://linux.about.com/od/commands/l/blcmdl8_ping.htm
所有其他选项都在工作,但-W是超时。
我使用此命令以5秒超时ping:ping 131.107.8.1 -W 5 我相信这应该在5秒后给出“请求超时”。我还使用“Test Ping”应用程序测试了它,但它也失败了。
在我的Windows机器中,我使用此命令用于相同的IP:ping 131.107.8.1 -w 7000 并且在7000毫秒之后正确地给出“请求超时”。
任何指针,我错过了这个概念吗?
答案 0 :(得分:2)
我对Android的Ping实现并不完全确定,但在Linux上,标志ping -w
和ping -W
的操作非常不同。
在这种情况下,您正在使用ping -W
,它等待网络上发生超时。根据手册页:
-W超时 等待响应的时间,以秒为单位。该选项仅影响 没有任何响应超时,否则ping等待 两个RTT。
我相信你要做的是设置Ping命令的截止日期,例如:再次在手册页中描述ping -w
:
-w截止日期 指定ping退出之前的超时(以秒为单位),而不管是什么 已发送或接收了多少数据包。在这种情况下ping 在计数数据包发送后不会停止,它会等待 截止日期到期或直到计数探针得到答复或某些 来自网络的错误通知。
答案 1 :(得分:0)
Ping超时仅在确定IP地址后开始。如果 您的工作站处于脱机状态,然后ping无法确定IP地址 因此看起来大约等待默认的20秒 返回假。