So pingen Sie eine IP-Adresse und Portnummer (IP:port) in PHP an

Susan Sarandon
Freigeben: 2024-10-18 12:09:43
Original
789 Leute haben es durchsucht

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

So pingen Sie eine IP-Adresse und Portnummer in PHP an

Problem:

Entwicklung ein Skript zum Anpingen einer IP-Adresse und einer Portnummer (IP:Port), um die Serververfügbarkeit zu überprüfen.

Lösung:

Das ursprünglich bereitgestellte Skript kann nur Websites anpingen, jedoch nicht IP:Ports. Um dieses Problem zu beheben, kann eine modifizierte Version verwendet werden:

<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>
Nach dem Login kopieren

Dieses Skript verwendet fsockopen(), um eine TCP-Verbindung zur angegebenen IP und zum angegebenen Port herzustellen. Es misst die Zeit, die zum Herstellen einer Verbindung benötigt wird, und gibt die Ping-Zeit in Millisekunden oder „Down“ zurück, wenn keine Verbindung hergestellt werden konnte.

Weitere Überlegungen:

  • Für andere Protokolle als TCP (z. B. UDP) ist zusätzlicher Aufwand erforderlich, um Ping-Funktionen zu implementieren.
  • Das OSI-Modell und die Transportschichtprotokolle (ICMP und TCP) sollten für ein tieferes Verständnis der Netzwerkkommunikation untersucht werden.

Das obige ist der detaillierte Inhalt vonSo pingen Sie eine IP-Adresse und Portnummer (IP:port) in PHP an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage