![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
Witam
Mam na nazwie prosty skrypt pobierający dane o serwerze CS. Pewnego razu przestał działać, więc napisałem do supportu. To ten skrypt: Kod $ip = "194.109.69.51"; $fp = @fsockopen("udp://".$ip, 27015); stream_set_timeout($fp, 10); //stream_set_blocking($fp, 0); fwrite($fp, "\xFF\xFF\xFF\xFFTSource Engine Query\x00"); $return = fread($fp, 100); echo $return; $data = stream_get_meta_data($fp); print_r($data); if($data['timed_out']) { die("Timed Out"); } else { print_r($data); } I odpowiedź z nazwy: Cytat zanim wykonuje Pan w skryptach operacje zapisu/odczytu z gniazda sieciowego proszę zbindować się na swój adres IP. Co to znaczy? W manualu PHP znalazłęm tylko bindowanie dotyczące serweru z którym się łączy przez alias. Co mam zrobić? BTW. Ten skrypt działa na unixstorm, więc jeśli mi nie pomożecie, zmieniam hosting. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1)Otwieramy manual z naszą funkcją
http://pl.php.net/manual/en/function.fsockopen.php 2) Wciskamy CTRL+F i wpisujemy szukane słowo kluczowe BIND 3) kopiujemy kod, dostosowujemy do siebie i sprawdzamy czy dziala 4) wyniki publikujemy na forum ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
Próbowałem i wcześniej
![]() Kod $ip = "193.33.176.148"; $opts = array('socket' => array('bindto' => '85.128.153.53:0')); $context = stream_context_create($opts); $fp = @stream_socket_client("udp://".$ip.":27015", $errno, $errstr, 5, STREAM_CLIENT_CONNECT, $context); stream_set_timeout($fp, 10); //stream_set_blocking($fp, 0); fwrite($fp, "\xFF\xFF\xFF\xFFTSource Engine Query\x00"); $return = fread($fp, 100); echo $return; $data = stream_get_meta_data($fp); print_r($data); if($data['timed_out']) { die("Timed Out"); } else { print_r($data); } array('bindto' => 'IP:0')) - w to miejsce wstawiałem swoje IP, ip serwera, ip routera, ale nic nie działa. Dalej timeout Edit: Jak to coś pomoże... Wynik: Kod Array ( [stream_type] => udp_socket [mode] => r+ [unread_bytes] => 0 [seekable] => [timed_out] => 1 [blocked] => 1 [eof] => ) Timed Out[code] Edit2: I co, jak zwykle nikt nie wie? ![]() |
|
|
![]()
Post
#4
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Cytat I co, jak zwykle nikt nie wie? Myślisz, że jak tak będziesz podbijał, to szybciej dostaniesz odpowiedź? -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
Nie, ale przynajmniej utrzymam się na górze. Ten problem mam od stycznia, grzecznie czekałem w kolejce, pisałem do linuxpl.com - nie pomogli. Zobaczyłem że działa na nazwie, kupiłem tam serwer - po miesiącu przestało działać. Pisałem do nich - jedyne co otrzymałem, to właśnie coś o bindowaniu. Ale gdzie, to już nie wiem (jeszcze się do systemu z pingwinkiem nie przyzwyczaiłem). Widzę że działa na unixstorm - jak nikt mi nie pomoże to tam się będę musiał przenieść. A jak i tam przestanie działać, to już nie wiem.
Nie wiem gdzie mam bindować - po stronie mojego kodu, czy po stronie serwera, czy i tu, i tam. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:40 |