Socket 網路程式設計是後端開發核心技能。本系列從基礎類別開始,逐步建構完整通訊範例。此為第一篇,介紹最常用的網路類別與方法。
IPAddress addr = IPAddress.Parse("192.168.0.1");| 欄位 | 用途 |
|---|---|
| Any | 代表本機所有可用 IP (監聽最常用) |
| Broadcast | 區域網路廣播位址 (UDP 廣播用) |
| Loopback | 回送位址 (127.0.0.1) |
| None | 無網路介面 |
IP 位址 + 連接埠 = 端點,代表一個服務位置
new IPEndPoint(long address, int port)new IPEndPoint(IPAddress address, int port)| 方法 | 說明 | 回傳 |
|---|---|---|
| GetHostName() | 取得本機主機名稱 | string |
| GetHostByName(string) | 依主機名稱查詢 | IPHostEntry |
| GetHostByAddress(IPAddress/string) | 依 IP 位址反向查詢 | IPHostEntry |
| Resolve(string) | 萬用查詢:接受主機名或 IP,自動判斷 | IPHostEntry |
封裝 DNS 查詢結果:
AddressList:IPAddress[] 陣列Aliases:string[] 別名陣列HostName:主機名稱字串
// 取得本機所有 IP
string hostName = Dns.GetHostName();
IPHostEntry entry = Dns.GetHostByName(hostName);
foreach (IPAddress ip in entry.AddressList)
{
Console.WriteLine(ip);
}
// 解析使用者輸入 (可能是名稱或 IP)
IPHostEntry result = Dns.Resolve(userInput); // 自動判斷
IPAddress targetIP = result.AddressList[0];
歡迎批評指正,共同進步!