Ping sur IP très très très lent.

Salut à tous,

Je tiens à partager un code qui est plutôt facile d'utilisation et de fonctionnalité.

Sauf qu'il est super lent et je ne sais pas comment faire pour le rendre "réactif".

Je scanne les IP de 0.0.0.0 à 255.255.255.255 , on peut également l'utiliser en local de 192.168.1.0 à 192.168.1.255

Totalement personnalisable , la dernière fonction que j'ai ajouter c'est qu'on peut vérifier le PC LOCAL. , vérifier si la machine est connectée ou déconnectée , afficher les Machines connectées ou déconnecter , on peut faire plein de chose :D.

Mon Code :

<?php

for ($a=192 , $b=168 , $c=1 , $d=0 ; $a<=192 , $b<=168 , $c<=1 , $d<=20 ; $a++ , $b++ , $c++ , $d++)
{
	//echo $varip = $a.".".$b.".".$c.".".$d."<br />"."n";
	$varip = $a.".".$b.".".$c.".".$d;
				
	$ping = exec("ping " . $varip);
	$ping1 = exec("ping 127.0.0.1");
	$explode = explode(" ", $ping);
	$explode1 = explode(" ", $ping1);
	
	if ($explode[12] == "=")
	{
		echo $varip . " | Déconnecté<br />"."n";
	}
	else
	{
		if($explode[12] == $explode1[12])
		{ 
			echo $varip . " | Connecté | " . $explode[12] ." <b>(Localhost)</b><br />"."n";
		}
		else 
		{
			echo $varip . " | Connecté | " . $explode[12] ."<br />"."n";
		}
	}
}

?>


Bon courage aux participants et merci d'avance.

Un homme à tout faire.

2 réponses

  1. Tu devrais essayer de raccourcir déjà tes fonctions for
    au lieu de faire
    for ($a=192 ; $a<=192; $a++)
    {
    for ($b=168 ; $b<=168; $b++)
    test en faisant
    for ($a=192 ; $a<=192; $a++ && $b=168 ; $b<=168; $b++ && etc...)
    0
    1. en faite ça va pas avec mes besoins , mais merci quand même

      for ($a=192 ; $a<=192; $a++)
      {
       for ($b=168 ; $b<=168; $b++)
       {
        for ($c=1 ; $c<=1; $c++)
        {
         for ($d=0 ; $d<=30; $d++)
         {
          //echo $varip = $a.".".$b.".".$c.".".$d."<br />"."n";
          $varip = $a.".".$b.".".$c.".".$d;
          
          $ping = exec("ping " . $varip);
          $ping1 = exec("ping 127.0.0.1");
          $explode = explode(" ", $ping);
          $explode1 = explode(" ", $ping1);
          
          if ($explode[12] == "=")
          {
           echo $varip . " | Déconnecté<br />"."n";
          }
          else
          {
           if($explode[12] == $explode1[12])
           { 
            echo $varip . " | Connecté | " . $explode[12] ." <b>(Localhost)</b><br />"."n";
           }
           else 
           {
            echo $varip . " | Connecté | " . $explode[12] ."<br />"."n";
           }
          }
         }
        }
       }
      }
      


      PS : je ne peux pu modifier mon premier message.
      0