Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Skrypt sprawdzający status serwerów
Forum PHP.pl > Forum > Przedszkole
viperon
Pobrałem sobie darmowy skrypt sprawdzający status serwerów, który posłuży mi do stworzenia monitora serwerów sieci GyGy. Wygląda on tak:

Kod
<?php
  
   $live = "/status/live.gif";
   $dead = "/status/dead.gif";
  
   $link = $_GET['link'].":";
   $s_link = str_replace("::", ":", $link);
   list($addr,$port)= explode (':',"$s_link");
   if (empty($port)){
       $port = 80;
   }
  
   $churl = @fsockopen(server($addr), $port, $errno, $errstr, 20);
                if (!$churl){
                //echo $errstr;
                   header("Location: $dead");
                   }
                else {
                      header("Location: $live");            
             }
   function server($addr){
            if(strstr($addr,"/")){$addr = substr($addr, 0, strpos($addr, "/"));}
            return $addr;
   }
   ?>


Wszystko ładnie, pięknie, ale jak dodam tam kilkadziesiąt serwerów i przy każdym będzie sprawdzało odpowiedź to trudno się będzie doczekać na wyniki. Dlatego prosiłbym o pomoc jak można ograniczyć czas oczekiwania na odpowiedź np. do 1 sekundy, a jak serwer nie odpowie to od razu wynikiem jest $dead.
wookieb
Zamien 20 na 1
A to wszystko pisało w... http://pl.php.net/fsockopen
Eagle
Zrób jeszcze cache dla wyników.
Nie ma sensu aby przy każdym wejściu na stronę sprawdzało status dla serwerów.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.