C# IPAddress 和 IPEndPoint 類的使用小結(jié)
一、核心作用
網(wǎng)絡(luò)編程基礎(chǔ)類
- IPAddress:表示 IP 地址(IPv4 或 IPv6)
- IPEndPoint:表示網(wǎng)絡(luò)端點(diǎn),包含 IP 地址和端口號(hào)
命名空間:System.Net
二、IPAddress 類詳解
三種初始化方式
1. byte 數(shù)組初始化
byte[] ipAddress = new byte[] { 192, 168, 1, 1 };
IPAddress ip1 = new IPAddress(ipAddress);
2. long 長(zhǎng)整型初始化
IPAddress ip2 = new IPAddress(0xC0A80101); // 192.168.1.1
注意:不推薦使用,可讀性差
3. 字符串解析(推薦)
IPAddress ip3 = IPAddress.Parse("192.168.1.1");
特殊 IP 地址
127.0.0.1:本機(jī)環(huán)回地址IPAddress.IPv6Any:IPv6 任意地址IPAddress.Loopback:環(huán)回地址常量
三、IPEndPoint 類詳解
網(wǎng)絡(luò)端點(diǎn)表示
將網(wǎng)絡(luò)端點(diǎn)表示為 IP地址 + 端口號(hào) 的組合
兩種初始化方式
1. long + int 初始化
IPEndPoint endPoint1 = new IPEndPoint(0xC0A80101, 8080);
2. IPAddress + int 初始化(推薦)
IPEndPoint endPoint2 = new IPEndPoint(IPAddress.Parse("192.168.1.1"), 8080);
四、重要特性
IPAddress 類特性
- 支持 IPv4 和 IPv6 地址
- 提供地址解析和驗(yàn)證方法
- 包含常用特殊地址的靜態(tài)屬性
IPEndPoint 類特性
- 完整的網(wǎng)絡(luò)端點(diǎn)描述
- 用于 Socket 編程中的連接和綁定
- 支持地址族檢測(cè)
五、實(shí)際應(yīng)用場(chǎng)景
服務(wù)器監(jiān)聽(tīng)配置
// 創(chuàng)建服務(wù)器端點(diǎn) IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Any, 8080);
客戶端連接配置
// 創(chuàng)建客戶端連接端點(diǎn)
IPEndPoint clientEndPoint = new IPEndPoint(IPAddress.Parse("192.168.1.100"), 8080);
地址驗(yàn)證和轉(zhuǎn)換
// 驗(yàn)證IP地址格式
if (IPAddress.TryParse("192.168.1.1", out IPAddress validIP))
{
// 使用有效IP地址
}
六、最佳實(shí)踐
初始化選擇
- 推薦:使用
IPAddress.Parse()和IPEndPoint(IPAddress, port) - 避免:使用 long 類型初始化,可讀性差
錯(cuò)誤處理
try
{
IPAddress ip = IPAddress.Parse(inputString);
}
catch (FormatException)
{
Console.WriteLine("IP地址格式錯(cuò)誤");
}
IPAddress 和 IPEndPoint 是 C# 網(wǎng)絡(luò)編程的基礎(chǔ)類,掌握它們的正確使用方法對(duì)于開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用程序至關(guān)重要。推薦使用字符串解析方式初始化,代碼可讀性更好且易于維護(hù)。
到此這篇關(guān)于C# IPAddress 和 IPEndPoint 類的使用小結(jié)的文章就介紹到這了,更多相關(guān)C# IPAddress IPEndPoint 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#實(shí)現(xiàn)求一組數(shù)據(jù)眾數(shù)的方法
這篇文章主要介紹了C#實(shí)現(xiàn)求一組數(shù)據(jù)眾數(shù)的方法,這里以浮點(diǎn)型數(shù)組為例分析了C#求眾數(shù)的算法原理與實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08
Unity使用物理引擎實(shí)現(xiàn)多旋翼無(wú)人機(jī)的模擬飛行
這篇文章主要介紹了Unity使用物理引擎實(shí)現(xiàn)多旋翼無(wú)人機(jī)的模擬飛行,包括了詳細(xì)的原理介紹和代碼實(shí)現(xiàn),對(duì)物理引擎感興趣的同學(xué),可以參考下2021-04-04
C#中winform中panel重疊無(wú)法顯示問(wèn)題的解決
這篇文章主要介紹了C#中winform中panel重疊無(wú)法顯示問(wèn)題的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
C#結(jié)合Spire.XLS for .NET實(shí)現(xiàn)自動(dòng)創(chuàng)建Excel數(shù)據(jù)透視圖
在當(dāng)今環(huán)境中,數(shù)據(jù)分析和可視化扮演著至關(guān)重要的角色,Excel數(shù)據(jù)透視圖以其強(qiáng)大的交互性和靈活性,成為了許多業(yè)務(wù)分析師和決策者不可或缺的工具,下面我們就來(lái)看看如何使用C#實(shí)現(xiàn)自動(dòng)創(chuàng)建Excel數(shù)據(jù)透視圖吧2025-12-12
C# ping網(wǎng)絡(luò)IP 實(shí)現(xiàn)網(wǎng)絡(luò)狀態(tài)檢測(cè)的方法
下面小編就為大家?guī)?lái)一篇C# ping網(wǎng)絡(luò)IP 實(shí)現(xiàn)網(wǎng)絡(luò)狀態(tài)檢測(cè)的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08
C#數(shù)據(jù)結(jié)構(gòu)之堆棧(Stack)實(shí)例詳解
這篇文章主要介紹了C#數(shù)據(jù)結(jié)構(gòu)之堆棧(Stack),結(jié)合實(shí)例形式較為詳細(xì)的分析了堆棧的原理與C#實(shí)現(xiàn)堆棧功能的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11

