Check IP + Port (PHP)

Fermé
rotsak Messages postés 143 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 2 novembre 2013 - 15 nov. 2011 à 15:30
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 17 nov. 2011 à 12:33
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.
A voir également:

2 réponses

Mimilouuuuu
15 nov. 2011 à 17:51
pourquoi ce if? if ($server and $port and $timeout)
0
rotsak Messages postés 143 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 2 novembre 2013 21
16 nov. 2011 à 19:53
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
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
17 nov. 2011 à 12:33
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