首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 使用 TUdpSocket 取得本機主機名與 IP 位址

     編輯:Delphi

最簡單做法

TUdpSocket (Internet 頁面) 內建 LocalHostName、LocalHostAddr 屬性,直接對應本機主機名與第一張網卡 IPv4 位址,無需撰寫 Winsock 程式碼。

程式碼

procedure TForm1.FormCreate(Sender: TObject);
begin
  Caption := UdpSocket1.LocalHostName + ' : ' + UdpSocket1.LocalHostAddr;
end;

屬性來源說明

  • 元件建立時內部呼叫 gethostname + gethostbyname 取得。
  • 若機器有多張網卡/多 IP,LocalHostAddr 僅回傳第一個 (綁定順序)。
  • 不支援 IPv6。

進階:列舉所有 IP (Indy)

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;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved