首頁 >後端開發 >php教程 >PHP 可以 Ping 特定的 IP 和連接埠組合嗎?

PHP 可以 Ping 特定的 IP 和連接埠組合嗎?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-18 12:37:35421瀏覽

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