Comment envoyer un ping à une adresse IP et un numéro de port (IP:port) en PHP

Susan Sarandon
Libérer: 2024-10-18 12:09:43
original
793 Les gens l'ont consulté

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

Comment envoyer un ping à une adresse IP et un numéro de port en PHP

Problème :

Développement un script pour cingler une adresse IP et un numéro de port (IP:port) pour vérifier la disponibilité du serveur.

Solution :

Le script initial fourni ne peut pinger que les sites Web, mais pas IP : ports. Pour résoudre ce problème, une version modifiée peut être utilisée :

<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>
Copier après la connexion

Ce script utilise fsockopen() pour établir une connexion TCP à l'adresse IP et au port spécifiés. Il mesure le temps nécessaire pour se connecter et renvoie le temps de ping en millisecondes, ou « en panne » si aucune connexion n'a pu être établie.

Autres considérations :

  • Pour les protocoles autres que TCP (tels que UDP), des efforts supplémentaires sont nécessaires pour implémenter les capacités de ping.
  • Le modèle OSI et les protocoles de couche de transport (ICMP et TCP) doivent être explorés pour une compréhension plus approfondie de la communication réseau.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal