Ró?żnica w pobieraniu hosta (W98/XP)

0

Cześć

Mam pewien problem:
Otóż korzystam z poniższej procedury do pobrania lokalnego adresu IP oraz hosta
Pod Windows 98 wszystko jest ok - chodzi mi o pobranie pe łnej nazwy hosta np.
"Kowalski.tvkwarszawa.pl"
Ale ta sama procedura zastosowana pod XP daje mi tylko "Kowalski" czyli samą nazwę kompa. Więc pytam co trzeba by dopisać do poniższej procedury by równierz poprawnie pobierać te dane pod XP ?

//Procedura pobiera lokalny adres IP oraz pełną nazwę Hosta
PROCEDURE GetIPandHost(var IP,Host :String);
var
 Buffer: array[0..63] of Char;
 hostEnt :PHostEnt;
Begin
 GetHostName(Buffer, SizeOf(Buffer));
 hostEnt:= GetHostByName(buffer);
 IP:= iNet_ntoa(PInAddr(hostEnt^.h_addr_list^)^);
 Host:= hostEnt^.h_name; //tu pod win98 jest ok, ale pod XP daje tylko nazwę kompa
End;

Chciałem dopowiedzieć że mam inne bardziej rozbudowane procedury do pobierania hosta np. podajesz IP i uzyskujesz host - ALE ta procedurka którą powyżej zapodałem nie łączy z Netem w celu pobrania danych (chyba ? ) bo firewall nie zgłasza mi żadnej uwagi i nie robi mi zwiechy nawet jak rozłącze połączenie.
A te inne łączą i na dodatek mogą mieć opóżnienia aż pobierą dane z serwera.
W zależności jakie kto ma szybkie łącze.
Więc zależy mi na tej i proszę o jakąś w niej poprawkę.

0

Mam jeszcze jedno pytanko
Często się zdaża że coś, gdzieś w sieci dzieje się z połączeniem (jakieś rozłączenia)
A wtedy pobierając IP - wyświetlane są przypadkowe jakieś dziwaczne adresy.
Zakładając że ma się stały adres IP np: 195.120.0.6 - pojawiają się jakieś inne
125.10.122.12 itp.
W Xp jest programik systemowy który przywraca oryginalne IP (opcja Napraw)
Zrobiłem coś podobnego dla Win98 - ale ciekaw jestem skąd te dziwolągi ?
Generuje je karta sieciowa ? czy błędnie pobierane są z serwera DNSu ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1