首页  >  文章  >  后端开发  >  PHP 可以 Ping 特定的 IP 和端口组合吗?

PHP 可以 Ping 特定的 IP 和端口组合吗?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-18 12:37:35307浏览

Can PHP Ping a Specific IP and Port Combination?

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn