Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Определение 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]

Ау, господа разработчики!!!


Наверх

Титульная страница Поиск, карта сайта Написать письмо