Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]sprawdzanie czy serwer jest online
Forum PHP.pl > Forum > Przedszkole
elewator
Witam. Mam oto taki skrypt:
  1. <?php
  2. include("config.php");
  3.  
  4. $socket=@fsockopen($serwer,$porta,$errno,$errstr,2);
  5.  
  6. if($socket==true)
  7. {
  8. //jezeli tak, to wyswietla skrypt
  9. }else{
  10. echo"<font color='#FF0000'>offline</font>.";
  11. }
  12.  
  13. ?>

config.php:
  1. <?php
  2. $ips = Array("195.42.112.2:27015");
  3. $serwer="195.42.112.2"; // ip
  4. $porta="27015"; //
  5. ?>

No i tu mam problem. Nie ważne czy serwer jest online, czy offline. I tak pokazuje Offline. Czemu tak jest?
morswin
sprawdź, czy na serwerze nie jest zablokowany port 27015, np przez firewall.
elewator
czyli jak to sprawdzic? mam serwer platny na xaa, wiec nie powinno byc zablokowane.
Procesor
fsockopen nie zwraca true w przypadku powodzenia, tylko handler do pliku.
  1. <?php
  2. include("config.php");
  3.  
  4. $socket=@fsockopen($serwer,$porta,$errno,$errstr,2);
  5.  
  6. if($socket==true)
  7. {
  8. //jezeli tak, to wyswietla skrypt
  9. }else{
  10. echo"<font color='#FF0000'>offline</font>.";
  11. }
  12.  
  13. ?>
elewator
Cytat(Procesor @ 15.11.2009, 20:41:19 ) *
fsockopen nie zwraca true w przypadku powodzenia, tylko handler do pliku.
[PHP] pobierz, plaintext
  1. <?php
  2. include("config.php");
  3. $socket=@fsockopen($serwer,$porta,$errno,$errstr,2);
  4. if($socket==true)
  5. {
  6. //jezeli tak, to wyswietla skrypt
  7. }else{
  8. echo"<font color='#FF0000'>offline</font>.";
  9. }
  10. ?>
[PHP] pobierz, plaintext

wiec w jaki sposob bys proponowal rozwiazac moj problem?
Procesor
Dziwne, bo skopiowałem twój post i poprawiłem kod, a zachowało się jakbym tylko wkleił.

  1. <?php
  2. include("config.php");
  3.  
  4. $socket=@fsockopen($serwer,$porta,$errno,$errstr,2);
  5.  
  6. if($socket==false)
  7. {
  8. //serwer offline
  9. }else{
  10. // serwer online
  11. }
  12.  
  13. ?>


Kod jest bardzo prosty ;p

@down: Edytuje, żeby nie było że nabijam tongue.gif
fsockopen zwraca FALSE w wypadku niepowodzenia, więc kiedy nie można się połączyć z serwem znaczy to, że jest offline. Jeśli fsockopen nie zwróci false, skrypt traktuje to jako serwer online. Przecież to wynika z powyższego kodu na pierwszy rzut oka.
Fifi209
Cytat(Procesor @ 15.11.2009, 20:50:54 ) *
Dziwne. Przerobiłem ten kod, a wysłało oryginalny...

  1. <?php
  2. include("config.php");
  3.  
  4. $socket=@fsockopen($serwer,$porta,$errno,$errstr,2);
  5.  
  6. if($socket==false)
  7. {
  8. //serwer offline
  9. }else{
  10. // serwer online
  11. }
  12.  
  13. ?>


Kod jest bardzo prosty ;p


Nabiłeś kolejnego posta, wysłałeś praktycznie ten sam kod.

Czyli

jeżeli serwer jest online pokaż że jest offline, w przeciwnym wypadku jest online
elewator
dziwne. Dalej pokazuje "offline"
Dziwi mnie jedno.
Jak zamiast IP serwera CS, wpisze IP serwisu wp, i port 80 to wszystko ladnie pokazuje.
Procesor
Prawdopodobnie masz zablokowany port 27015, żeby to zmienić prawie na pewno musisz się skontaktować z obsługa techniczną twojego hostingu.
elewator
Phi. Place za hosting a oni mi jeszcze porty blokuja. Juz napisalem do supportu. Jak nie odblokuja, to najwyzej zmienie hosting. Dzieki za pomoc, procesor.

Pisalem do supportu no i porty nie sa zablokowane.
Procesor
No to może na komputerze, z którego się łączysz, jest zablokowany. Nie masz jakiegoś firewalla zainstalowanaego albo coś?
elewator
Nie, nie jest zablokowany.

o.0 sorki wielkie. zapomnialem ze jak sie laczysz z serwerem CS, to musi byc przez udp://. teraz dziala tongue.gif pozdrawiam.
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.