首頁 > 後端開發 > php教程 > 如何在 PHP 中 Ping IP 位址和連接埠號碼 (IP:port)

如何在 PHP 中 Ping IP 位址和連接埠號碼 (IP:port)

Susan Sarandon
發布: 2024-10-18 12:09:43
原創
821 人瀏覽過

How to Ping an IP Address and Port Number (IP:port) in PHP

如何在PHP 中Ping IP 位址和連接埠號碼

問題:

問題:

於ping IP 位址和連接埠號碼(IP:port)以檢查伺服器可用性的腳本。

解決方案:

<code class="php">function ping($host, $port, $timeout)
{
    $start = microtime(true);
    $fp = fsockopen($host, $port, $errno, $errstr, $timeout);
    $end = microtime(true);
    return $fp ? round((($end - $start) * 1000), 0) . " ms" : "down";
}

// Example usage
$host = "193.33.186.70";
$port = 80;
$ping = ping($host, $port, 10); // Set a timeout of 10 seconds

if ($ping != "down") {
    echo "Server is up with a ping of $ping";
} else {
    echo "Server is down";
}</code>
登入後複製

提供的初始腳本只能 ping 網站,但不能IP:連接埠。為了解決這個問題,可以使用修改版本:

此腳本使用 fsockopen() 建立到指定 IP 和連接埠的 TCP 連線。它測量連接所需的時間,並以毫秒為單位返回 ping 時間,如果無法建立連接,則返回「down」。

    其他注意事項:
  • 對於 TCP 以外的協定(例如 UDP),需要付出額外的努力來實現 ping 功能。
應探索 OSI 模型和傳輸層協定(ICMP 和 TCP),以更深入地了解網路通訊。

以上是如何在 PHP 中 Ping IP 位址和連接埠號碼 (IP:port)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板