国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C#如何獲取當(dāng)前主機的IP地址

這篇具有很好參考價值的文章主要介紹了C#如何獲取當(dāng)前主機的IP地址。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

解決方案

獲取主機名

Dns 類提供了一組用于域名系統(tǒng) (DNS) 操作的靜態(tài)方法。

Dns.GetHostName();

我們可以使用Dns.GetHostName()方法來獲取本地計算機的主機名, 這是一個靜態(tài)方法。該方法調(diào)用操作系統(tǒng)的網(wǎng)絡(luò)棧,以獲取計算機的主機名。主機名是一個用來標(biāo)識網(wǎng)絡(luò)上的設(shè)備的名稱。在網(wǎng)絡(luò)中,每個設(shè)備都有一個唯一的主機名,通過主機名可以在網(wǎng)絡(luò)中進行設(shè)備間的通信。

獲取IP地址

Dns.GetHostAddresses(hostName);

獲取到主機名后,我們使用Dns.GetHostAddresses(hostName)方法來獲取IP列表,這也是一個靜態(tài)方法,用于獲取指定主機名(或 IP 地址字符串)對應(yīng)的 IP 地址列表。它接受一個主機名或 IP 地址作為參數(shù),并返回一個 IPAddress[] 數(shù)組,其中包含與該主機名或 IP 地址關(guān)聯(lián)的所有 IP 地址。

該方法首先嘗試解析參數(shù)中傳入的主機名。如果傳入的是一個有效的主機名,它將查詢 DNS 服務(wù)器以查找與該主機名對應(yīng)的 IP 地址。如果找到了相關(guān)的 IP 地址,將返回一個包含這些 IP 地址的數(shù)組。

另外,如果傳入的參數(shù)是一個有效的 IP 地址字符串(例如:“192.168.0.1”),那么方法將直接將該字符串解析為一個 IPAddress 對象并放入數(shù)組中返回。

該方法在解析過程中,如果遇到了問題或訪問權(quán)限的限制,會拋出異常,如 SocketException 或 SecurityException。

過濾IPv4地址

可以通過一個枚舉值A(chǔ)ddressFamily.InterNetwork來過濾IPv4地址。

AddressFamily 是一個枚舉類型,定義了不同的網(wǎng)絡(luò)地址類型。其中,InterNetwork 表示 IPv4 地址,InterNetworkV6 表示 IPv6 地址,Unix 表示 Unix 域套接字地址等。

函數(shù)

using System.Collections.Generic;
using System.Text;
using System.Net.Sockets;
using System.Net;
using System;

public static List<string> GetIPv4Addresses()
{
    string hostName = Dns.GetHostName();
    IPAddress[] addresses = Dns.GetHostAddresses(hostName);

    List<string> ipv4Addresses = new List<string>();

    foreach (IPAddress address in addresses)
    {
        // 判斷是否為IPv4地址
        if (address.AddressFamily == AddressFamily.InterNetwork)
        {
            ipv4Addresses.Add(address.ToString());
        }
    }

    return ipv4Addresses;
}

該函數(shù)將返回找到的所有IPv4地址,調(diào)用后會得到一個包含所有找到的IPv4地址的列表。如果沒找到IPv4地址,則返回一個空列表。

函數(shù)調(diào)用

打印出找到的所有IPv4地址。
函數(shù)調(diào)用如下:

List<string> ipv4Addresses = GetIPv4Addresses();

foreach (string address in ipv4Addresses)
{
    Console.WriteLine(address);
}

運行結(jié)果

C#如何獲取當(dāng)前主機的IP地址,C#,c#,tcp/ip,php

其他文章

有了局域網(wǎng)IP,我們就可以通過UDP來實現(xiàn)局域網(wǎng)通訊,參考文章C#實現(xiàn)局域網(wǎng)之間互相傳遞消息
安卓獲取當(dāng)前設(shè)備的局域網(wǎng)IP地址文章來源地址http://www.zghlxwxcb.cn/news/detail-652516.html

到了這里,關(guān)于C#如何獲取當(dāng)前主機的IP地址的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包