TUdpSocket (Internet 頁面) 內建 LocalHostName、LocalHostAddr 屬性,直接對應本機主機名與第一張網卡 IPv4 位址,無需撰寫 Winsock 程式碼。
procedure TForm1.FormCreate(Sender: TObject);
begin
Caption := UdpSocket1.LocalHostName + ' : ' + UdpSocket1.LocalHostAddr;
end;
gethostname + gethostbyname 取得。LocalHostAddr 僅回傳第一個 (綁定順序)。uses IdStack;
procedure TForm1.ListAllIPs;
var
List: TIdStackLocalAddressList;
Addr: string;
begin
List := TIdStackLocalAddressList.Create;
try
GStack.GetLocalAddressList(List);
for Addr in List do
Memo1.Lines.Add(Addr);
finally
List.Free;
end;
end;