PHP 可以 Ping 一个 IP:端口组合吗?
当尝试确定服务器的可用性时,常见的方法是 ping 其IP 地址和指定端口。然而,为 ping 网站而设计的脚本可能不足以达到此目的。
解决方案
要在 PHP 中 ping IP:端口组合,可以利用 fsockopen () 功能。下面是一个可以完成此操作的编辑脚本:
<code class="php">function ping($host, $port, $timeout) { $start = microtime(true); $socket = fsockopen($host, $port, $errno, $errstr, $timeout); if (!$socket) { return "down"; } $end = microtime(true); fclose($socket); return round((($end - $start) * 1000), 0)." ms"; }</code>
在此脚本中,使用 fsockopen() 建立连接后,使用开始时间戳和结束时间戳之间的差异来计算 ping 时间。如果连接失败,该函数将返回“down”。
注意: 正如所提供的答案中所指出的,此脚本仅适用于 TCP 连接。对于其他协议,可能需要更高级的技术,包括自定义数据包生成和解析。
以上是PHP 可以 Ping 特定的 IP 和端口组合吗?的详细内容。更多信息请关注PHP中文网其他相关文章!