Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Status[Problem, Pilne]
cusek
post 22.09.2007, 21:38:42
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 22.09.2007

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


Witajcie!

Jestem nowym użytkownikiem i mam problem z jednym z skrytpów php wyświetlającym status serwera gry counter strike
Błędy można zobaczyć tutaj http://www.bykowinateam.ovh.org/stan.php

a tutaj zamieszczam źródło pliku stan.php


Kod
<?php

    /**
    * pobiera informacje z serwera i zwraca tablice z tymi danymi
    *
    * @param string $intServerIP  Adres IP serwera
    * @param integer $intServerPort  Port serwera
    * @return array
    */

    function RetriveInfo ( $strServerIP = '85.114.134.28', $intServerPort = 27019 )
    {
        $connection = fsockopen( "udp:" . $strServerIP, $intServerPort );
        fwrite( $connection, sprintf( '%c%c%c%c%s%c', 0xFF, 0xFF, 0xFF, 0xFF, "infostring", 0x00 ) );
        fread( $connection, 24 );
        $status = socket_get_status( $connection );
        if ( $status["unread_bytes"] != 0 )
        {
            $return = "";
            while ( $status["unread_bytes"] != 0 )
            {
                $return .= fread( $connection, 1 );
                $status = socket_get_status( $connection );
            }

        $return = explode( '', $return );

            $arr = array();
            $arr['ip'] = $intServerIP;
            $arr['port'] = $intServerPort;
            $arr['hostname'] = $return[19];
            $arr['game'] = $return[17];
            $arr['players'] = $return[5];
            $arr['maxplayers'] = $return[11];
            $arr['system'] = ( $return[25] == "w" ) ? "Windows" : "Linux";
            $arr['game_dir'] = $return[15];
            $arr['map'] = $return[21];
            $arr['password'] = ( $return[25] == "0" ) ? "false" : "true";
            $arr['secure'] = $return[29];
            return $arr;
        }
        else
        {
            // blad?
            return $arr;
        }
    }
?>



<?php
  $arr = RetriveInfo("85.114.134.28", "27019"); // gdzie te parametry to IP oraz port
  echo "IP: " . $arr['ip'];
  echo "<BR>";
  echo "Port: " . $arr['port'];
  echo "<BR>";
  echo "Nazwa servera: " . $arr['hostname'];
  echo "<BR>";
  echo "Gra: " . $arr['game'];
  echo "<BR>";
  echo "Ilosc graczy: " . $arr['players'];
  echo "<BR>";
  echo "Max graczy: " . $arr['maxplayers'];
  echo "<BR>";
  echo "System: " . $arr['system'];
  echo "<BR>";
  echo "Cos tam: " . $arr['game_dir'];
  echo "<BR>";
  echo "Mapa: " . $arr['players'];
  echo "<BR>";
  echo "Haslo: " . $arr['password'];
  echo "<BR>";
  echo "VAC: " . $arr[secure];
  echo "<BR>";
?>


Nie wiem co zrobić aby wyświetał to poprawnie, zależy mi na tym z góry dzieki

P.S. Sory za post poniżej był źle zrobiony

Ten post edytował cusek 22.09.2007, 21:39:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Nattfarinn
post 22.09.2007, 22:57:25
Post #2





Grupa: Zarejestrowani
Postów: 136
Pomógł: 22
Dołączył: 19.09.2007
Skąd: Sosnowiec

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


Na moje oko, w lini:
Kod
        $connection = fsockopen( "udp:" . $strServerIP, $intServerPort );

po 'udp:' brakuje '//'.

Czyli poprawnie powinno być:
Kod
        $connection = fsockopen( "udp://" . $strServerIP, $intServerPort );


Rzecz w tym, że nie wiem czy wina leży po stronie serwera czy coś, ale zamiast błędów w fsockopen skrypt wyrzuca mi Fatal error:
Kod
Maximum execution time of 60 seconds exceeded


--------------------
Code should run as fast as necessary, but no faster; something important is always traded away to increase speed.
-- R. Pattis
Go to the top of the page
+Quote Post
cusek
post 23.09.2007, 08:53:15
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 22.09.2007

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


No właśnie ja usunołem te // gdyż wtedy też wyrzucał mi fatal error a później już nie i myślałem że jest dobrze....

Ma ktoś jakis pomysłquestionmark.gif
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: 14.08.2025 - 04:15