Check IP + Port (PHP)

rotsak Messages postés 170 Statut Membre -  
jisisv Messages postés 3678 Statut Modérateur -
Bonjour,

Je suis administrateur d'un serveur "privé" Minecraft (je veux dire que je ne partage pas le lien à n'importe qui, car sinon, c'est tout à fait légal !) et je souhaiterai rajouter un gadget sur mon site.
En fait, il s'agit d'un gadget qui détermine si le serveur est ON ou non.
J'ai déjà pensé à un "@fsockopen" (le code que j'ai mis sera plus bas) mais il détermine que le serveur est toujours OFF.

Voici ce que j'ai mis :
<strong>Etat du serveur :</strong> <?php
 
  $server  = "IP";
  $port   = "PORT";
  $timeout = "10";
 
  if ($server and $port and $timeout)
    $resultat =  @fsockopen("$server", $port, $errno, $errstr, $timeout);
  if($resultat)
    echo "ON";
  else
    echo "OFF";
?><br />


Si vous avez une idée, merci de m'aider :D

Merci d'avance.

2 réponses

  1. Mimilouuuuu
     
    pourquoi ce if? if ($server and $port and $timeout)
    0
    1. rotsak Messages postés 170 Statut Membre 21
       
      Aucune idée, je ne connais pas totalement le PHP (voire pas du tout), donc on me passe des codes un peu tout fait (j'en ai honte, m'enfin, j'apprend de mon côté pour ne pas avoir à prendre le code des autres).
      0
  2. jisisv Messages postés 3678 Statut Modérateur 936
     
    Chez moi, ce code semble fonctionner correctement:
    johand@osiris: ~/src/CCM/php $ cat testsocket.php
    <?php
      $port=80;
      $server  = "192.168.0.8";
      if ($argc >1 )
        {
        $port   = $argv[1];
        }
      echo "Testing $port\n";
      $timeout = 10;
     
      $resultat =  @fsockopen("$server", $port, $errno, $errstr, $timeout);
      if($resultat)
        echo "ON\n";
      else
        echo "OFF\n";
    ?>
    johand@osiris: ~/src/CCM/php $ nmap 192.168.0.8 | grep 80
    johand@osiris: ~/src/CCM/php $ php testsocket.php 80
    Testing 80
    OFF
    johand@osiris: ~/src/CCM/php $ nmap 192.168.0.8 | grep 3128
    3128/tcp open  squid-http
    johand@osiris: ~/src/CCM/php $ php testsocket.php 3128
    Testing 3128
    ON
    Je passe les tests de validité des arguments...

    Johan
    0