![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Определение IP [D5, Win2k]
BWG © (2001-12-23 19:28:00)Необходимо определить собственный IP.
Делаю так:
var
WSAData : TWSAData;
p : PHostEnt;
Name : array [0..$FF] of Char;
WSAStartup($0101, WSAData);
GetHostName(name, $FF);
p := GetHostByName(Name);
Writeln("Your IP is : ",inet_ntoa(PInAddr(p.h_addr_list^)^));
WSACleanup;
Получаю "1.0.0.1" Фигня, естественно.
Как мне нормально получить собственный IP?
BWG (2001-12-24 14:45:00) [1]Огромное спасибо! Все работает!
Ghost_Old. (2001-12-24 10:46:00) [2]В от у меня так работает:
function LocalIP:string;
type
TaPInAddr=array [0..10] of PInAddr;
PaPInAddr=^TaPInAddr;
var
phe:PHostEnt;
pptr:PaPInAddr;
Buffer:array [0..63] of char;
I:Integer;
GInitData:TWSADATA;
begin
WSAStartup($101, GInitData);
Result:="";
GetHostName(Buffer, SizeOf(Buffer));
phe:=GetHostByName(buffer);
if phe=nil then Exit;
pptr:=PaPInAddr(Phe^.h_addr_list);
I:=0;
while pptr^[I] <> nil do
begin
result:=StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;
BWG (2001-12-24 03:25:00) [3]Ау, господа разработчики!!!