Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Online czy offline?
Forum PHP.pl > Forum > Gotowe rozwiązania
Adik
Ma moze ktos skrypcik zeby pokazaywal czy komputer jest wlaczony (chodzi o to zeby bylo ip i port)
mario
Może to Ci pomoże? [skrypt] Status komputerów w sieci LAN
Adik
slabo tongue.gif mi potrzebny maly skrypcik ktory by tylko pokazywal online offline ;p i zeby mozna bylo wpisac ip i porty ;]
mario
Każdy od razu chce mieć skrypt na dłoni. Nikomu nie chce się szukać. Znalazłem taki skrypcik kiedyś tutaj na forum:

  1. <?php 
  2. $fp = fsockopen (&#092;"udp://onet.pl\", 13, $errno, $errstr);
  3. if (!$fp)
  4.  {
  5. echo(&#092;"Serwer nie działa\"); 
  6.  }
  7. else
  8.  {
  9. echo(&#092;"serwer działa\"); 
  10. fclose ($fp); 
  11.  }
  12. ?>
tiraeth
  1. <?php
  2. function isOnline($ip, $port = false)
  3. {
  4.  if(eregi(&#092;":\", $ip))
  5.  {
  6. list($ip_ip, $ip_port) = explode(&#092;":\", $ip);
  7. if($ip_port == $port || $port == false)
  8. {
  9.  $checkPort = $ip_port;
  10. }
  11. else
  12. {
  13.  $checkPort = $port;
  14. }
  15. $checkIp = $ip_ip;
  16.  }
  17.  else
  18.  {
  19. $checkPort = ($port) ? $port : 8080;
  20. $checkIp = $ip;
  21.  }
  22.  
  23.  $fp = fsockopen ($checkIp, $checkPort, $errno, $errstr);
  24.  if(!$fp) return false;
  25.  else return true;
  26. }
  27.  
  28. # uzycie
  29. $online = isOnline('http://php.pl:8080'); # sprawdza php.pl o porcie 8080
  30. $online = isOnline('http://php.pl', 8080); # sprawdza php.pl o porcie 8080
  31. $online = isOnline('http://php.pl'); # sprawdza php.pl o domyslnym porcie 8080
  32. ?>

Może nie działać tongue.gif
Adik
Kod
<?php
function isOnline($ip, $port = false)
{
  if(eregi(":", $ip))
  {
     list($ip_ip, $ip_port) = explode(":", $ip);
     if($ip_port == $port || $port == false)
     {
        $checkPort = $ip_port;
     }
     else
     {
        $checkPort = $port;
     }
     $checkIp = $ip_ip;
  }
  else
  {
     $checkPort = ($port) ? $port : 8080;
     $checkIp = $ip;
  }

  $fp = fsockopen ($checkIp, $checkPort, $errno, $errstr);
  if(!$fp) return false;
  else return true;
}

# uzycie
$online = isOnline('http://php.pl:8080'); # sprawdza php.pl o porcie 8080
$online = isOnline('http://php.pl', 8080); # sprawdza php.pl o porcie 8080
$online = isOnline('http://php.pl'); # sprawdza php.pl o domyslnym porcie 8080
?>


Ten skrypt bez zadnych zmian jak bym wkljil do notatnika zapisal jako php itp powinien pokazywac czy php.pl dziala? bo cos kiepsko to widze
mario
Cytat(volture @ 2005-05-02 10:16:07)
Może nie działać tongue.gif

To po co tutaj takie skrypty sad.gif
dr_bonzo
Cytat
Ten skrypt bez zadnych zmian jak bym wkljil do notatnika zapisal jako php itp powinien pokazywac czy php.pl dziala? bo cos kiepsko to widze
A tak trudno sprawdzic?

  1. <?php
  2. $fp = fsockopen (&#092;"udp://onet.pl\", 13, $errno, $errstr);
  3. ?>


Niestety UDP nic tu nie da -- jest protokolem bezpolaczeniowym w odroznieniu od TCP. Tzn. musialbys wyslac i odebrac prawidlowo jakies dane zeby stwierdzic czy komp dziala czy nie. A w TCP wystarczy sie polaczyc ww. sposob i juz mozna stwierdzic czy polaczenie sie udalo --> komp dziala.


Cytat
To po co tutaj takie skrypty sad.gif

Moze byl pisane z pamieci, na bierzaco bez sprawdzenia -- brak php pod reka, itd.
tiraeth
mario... jak mam włączone 20 okienek w windowsie i przeglądam kilka stron to wybacz, ale nie mam ochoty uruchamiać serwer, kopiować kodu i sprawdzać czy działa.... jeżeli coś nie działa to w Twoich rękach pozostanie doprowadzenie kodu do tego aby działał....

Jeżeli piszę, że może nie działać, tzn. mogą wystąpić PARSE ERRORS ponieważ piszę z głowy...
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.