Wracam ze starym problemem. Kiedyś pobierałem dane o serwerze CS na serwerze który stoi na nazwie i wszystko działało. Robiłem to za pomocą gotowej biblioteki. Nagle przestało działać. Wszystko wskazywało na to że instalacja MyBB coś zmieniła. Nie miałem czasu tego poprawić. Teraz znowu mam za zadanie to naprawić, więc korzystając z manuala, tutoriali i ze swojej wiedzy, próbuję krok po kroku zadziałać.
Kod
<?php
$ip = "194.109.69.51";
$fp = @fsockopen("udp://".$ip, 27015);
//stream_set_blocking($fp, 0);
$data = stream_get_meta_data($fp);
if($data['timed_out'])
{
die("Timed Out");
}
else
{
print_r($data);
}
?>
$ip = "194.109.69.51";
$fp = @fsockopen("udp://".$ip, 27015);
//stream_set_blocking($fp, 0);
$data = stream_get_meta_data($fp);
if($data['timed_out'])
{
die("Timed Out");
}
else
{
print_r($data);
}
?>
Zwraca:
Kod
Array ( [stream_type] => udp_socket [mode] => r+ [unread_bytes] => 0 [seekable] => [timed_out] => [blocked] => 1 [eof] => )
To dobrze, znaczy że się połączyło.
No to dalej, kopiuję informację którą trzeba wysłać na serwer i ją wysyłam. Teraz kod wygląda tak:
Kod
<?php
$ip = "194.109.69.51";
$fp = @fsockopen("udp://".$ip, 27015);
//stream_set_blocking($fp, 0);
fwrite( $fp, sprintf( '%c%c%c%c%s%c', 0xFF, 0xFF, 0xFF, 0xFF, "infostring", 0x00 ) );
$return = fread($fp, 100);
echo $return;
$data = stream_get_meta_data($fp);
if($data['timed_out'])
{
die("Timed Out");
}
else
{
print_r($data);
}
?>
$ip = "194.109.69.51";
$fp = @fsockopen("udp://".$ip, 27015);
//stream_set_blocking($fp, 0);
fwrite( $fp, sprintf( '%c%c%c%c%s%c', 0xFF, 0xFF, 0xFF, 0xFF, "infostring", 0x00 ) );
$return = fread($fp, 100);
echo $return;
$data = stream_get_meta_data($fp);
if($data['timed_out'])
{
die("Timed Out");
}
else
{
print_r($data);
}
?>
Zwraca:
Kod
Timed Out
Nie wiem co jest grane. Bawiłem się w skanowanie portów mojego serwera, ale nic z tego nie wywnioskowałem.
Czy ktoś miał podobny problem lub wie co jest grane?