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中文網其他相關文章!