ping 客户端的最佳方式


Best way to ping client

是的,我有一个PHP脚本在工作,服务器ping是一个客户端。 我面临的问题是有时服务器无法联系客户端,尽管当我手动ping客户端时,它ping成功。

我正在使用的ping命令是这个ping -q -w 3 -c 1 < ipaddresshere >

如果在重试之前 ping 失败,那么 ping 客户端可能 2/3 次的最佳方法是什么,留下 2/3 秒的间隙

当你在 unix 环境中时,你总是可以制作然后调用一个 shell 脚本来处理循环和等待。但我很惊讶你不能在 php 中做到这一点。

另外,我

不确定您的示例ping命令,我检查的2种不同环境对您提到的选项的含义似乎与您似乎的意图不同。尝试man pingping --help

下面的脚本应该给你一个实现ping重试的框架,但我不能花很多时间在上面。

cat pingCheck.sh
#! /bin/bash -vx
IPaddr=$1
: ${maxPingTries:=3}
echo "maxPingTries=${maxPingTries}"
pingTries=0
while ${keepTryingToPing:-true} ; do
  if ping -n 3 -r 1 ${IPaddr} ;then
    keepTryingToPing=false
  else
    sleep ${sleepSecs:-3}
    if (( ++pingTries >= maxPingTries )) ; then
      printf "Execeeded count on ping attempts = ${maxPingTries}'n" 1>&2
      keepTryingToPing=false
    fi
  fi
done

我希望这有所帮助。

P.S. 由于您似乎是新用户,如果您得到一个对您有帮助的答案,请记住将其标记为已接受,和/或给它一个 +(或 -)作为有用的答案。

对于PHP,你可以尝试PEAR的Net_PING包。

这是一个链接,指导您完成它http://www.codediesel.com/php/ping-a-server-using-php/