gethostbyaddr z timeout, Wykonanie funkcji gethostbyaddr z ograniczeniem czasowym |
gethostbyaddr z timeout, Wykonanie funkcji gethostbyaddr z ograniczeniem czasowym |
23.10.2018, 14:07:35
Post
#1
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 16.12.2012 Ostrzeżenie: (0%) |
Witam.
Czy istnieje sposób na otrzymanie nazwy hosta z adresu IP, ograniczając przy tym czas połączenia (nie chodzi mi o czas wykonania skryptu)? Funkcja gethostbyaddr byłaby w porządku, gdyby zwracała cokolwiek, w przypadku timeoutu. Niestety tak nie jest i kiedy host nie odpowiada, skrypt będzie mielił aż do przekroczenia maksymalnego czasu wykonania skryptu. Już w samych komentarzach w manualu, przy funkcji gethostbyaddr natrafiłem na taki oto skrypt:
Nieco zmodyfikowany kod znalazłem na https://www.askapache.com/php/php-fsockopen-dns-udp/ . Niestety, oba mają pewną wadę. Większość hostów wyświetla poprawnie. Jeśli nie uda się połączyć z adresem, funkcja zwróci IP, który został podany. Kiedy host nie odpowiada, skrypt zwraca host reverse DNS, w postaci "<ip>.in-addr.arpa". Niestety, niekiedy skrypt ten zwraca niezrozumiałe dla mnie ciągi znaków, przy czym przy każdej próbie ciągi są inne. Kod String (126) "..65196144182193in-addrarpa ..7196144182193in-addrarpa " String (80) "..33196144182193in-addrarpa .rpa " String (137) "..53196144182193in-addrarpa .93in-addrarpa .144182193in-addrarpa " String (31) "..-addrarpa /" Prześledziłem już parę stron google i nie znalazłem rozwiązania tego problemu. Ktoś spotkał się z podobnym? |
|
|
Wersja Lo-Fi | Aktualny czas: 20.04.2024 - 04:10 |