Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Połączanie udp SA-MP
Minokon
post 8.03.2010, 15:09:42
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 1
Dołączył: 13.10.2009
Skąd: Wielkopolska

Ostrzeżenie: (0%)
-----


Witajcie
Mam problem a mianowicie robię skrypt do sprawdzania statusu serwera SA-MP
Kod mam gotowy z forum sa-mp, tylko że coś nie chodzi i nie wiem co

Gdy serwer jest Online to wszystko jest git, ilość graczy itp. lecz gdy serwer jest offline zamiast pisać Offline wyskakuje error
Kod
Fatal error:  Maximum execution time of 60 seconds exceeded in E:\Dawid\Xampp\htdocs\ftp_register\functions.php on line 126


Kod wygląda tak:
  1. $fp = fsockopen('udp://' . $serv_ip, $serv_port, $errno, $errstr,5.0);
  2. if(!$fp) $statusmsg = '<font size="3" color="red">Offline</font>';
  3. else
  4. {
  5. $packet = 'SAMP';
  6. $packet .= chr(strtok($serv_ip, '.'));
  7. $packet .= chr(strtok('.'));
  8. $packet .= chr(strtok('.'));
  9. $packet .= chr(strtok('.'));
  10. $packet .= chr($serv_port & 0xFF);
  11. $packet .= chr($serv_port >> 8 & 0xFF);
  12. fwrite($fp, $packet.'i');
  13. fread($fp, 11);
  14. $is_passworded = ord(fread($fp, 1));
  15. $plr_count = ord(fread($fp, 2));
  16. $max_plrs = ord(fread($fp, 2));
  17. $statusmsg = '<font size="4" color="green"><b>Online</b></font><br />
  18. Gracze: '. $plr_count .'/'. $max_plrs;
  19. }
  20. echo $statusmsg;


Linijka 126 to
Kod
$is_passworded  = ord(fread($fp, 1));

Dodawałem '@' ale nic nie pomogło

Czy ktoś mógłby mi pomóc? Będę mu dłużny haha.gif
Mam nadzieję że wybrałem dobry dział do napisania tematu, jak nie to proszę o przeniesienie

Pozdrawiam, Minokon


--------------------
Moja strona www
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
alegorn
post 8.03.2010, 15:33:13
Post #2





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

Ostrzeżenie: (0%)
-----


przed kazdym otwieraniem niepewnej strony ja sprawdzam naglowki
tu masz prosta funkcje, jesli podany adres nieodpowiada(nie istnieje) - zwraca false, mysle ze to powinno pomoc.

  1. protected function _chceckurl($url) {
  2. @$Headers = get_headers($url);
  3. if (preg_match("|200|", $Headers[0])) {
  4. return true;
  5. }
  6. return false;
  7. }# _chceckurl()



fakt to nie dokladnie to samo - moze jednak sam pomysl ci sie przyda

Ten post edytował alegorn 8.03.2010, 15:36:02
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 21:46