function GetLocalIP : String;
type
TaPInAddr = array [0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe: PHostEnt; // HostEntry 구조체
pptr: PaPInAddr;
Buffer: array [0..MAX_PATH] of char;
i: Integer;
begin
Result := '';
GetHostName(Buffer, SizeOf(Buffer));
phe := GetHostByName(buffer);
if phe = nil then
Result := '127.0.0.1'
else
begin
pptr := PaPInAddr(Phe^.h_addr_list);
i := 0;
while pptr^[i] <> nil do // Multi-Homed 일 경우는 여러개의 IP가 있을 수 있으므로
begin
Result := StrPas(inet_ntoa(pptr^[i]^));
Inc(i);
end;
end;
end;
function GetLocalIP : String;
type
TaPInAddr = array [0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe: PHostEnt; // HostEntry 구조체
pptr: PaPInAddr;
Buffer: array [0..MAX_PATH] of char;
i: Integer;
begin
Result := '';
GetHostName(Buffer, SizeOf(Buffer));
phe := GetHostByName(buffer);
if phe = nil then
Result := '127.0.0.1'
else
begin
pptr := PaPInAddr(Phe^.h_addr_list);
i := 0;
while pptr^[i] <> nil do // Multi-Homed 일 경우는 여러개의 IP가 있을 수 있으므로
begin
Result := StrPas(inet_ntoa(pptr^[i]^));
Inc(i);
end;
end;
end;