C#如何获取当前主机的局域网IP

这篇具有很好参考价值的文章主要介绍了C#如何获取当前主机的局域网IP。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

解决方案

获取主机名

Dns 类提供了一组用于域名系统 (DNS) 操作的静态方法。

Dns.GetHostName();

我们可以使用Dns.GetHostName()方法来获取本地计算机的主机名, 这是一个静态方法。该方法调用操作系统的网络栈,以获取计算机的主机名。主机名是一个用来标识网络上的设备的名称。在网络中,每个设备都有一个唯一的主机名,通过主机名可以在网络中进行设备间的通信。

获取IP地址

Dns.GetHostAddresses(hostName);

获取到主机名后,我们使用Dns.GetHostAddresses(hostName)方法来获取IP列表,这也是一个静态方法,用于获取指定主机名(或 IP 地址字符串)对应的 IP 地址列表。它接受一个主机名或 IP 地址作为参数,并返回一个 IPAddress[] 数组,其中包含与该主机名或 IP 地址关联的所有 IP 地址。

该方法首先尝试解析参数中传入的主机名。如果传入的是一个有效的主机名,它将查询 DNS 服务器以查找与该主机名对应的 IP 地址。如果找到了相关的 IP 地址,将返回一个包含这些 IP 地址的数组。

另外,如果传入的参数是一个有效的 IP 地址字符串(例如:“192.168.0.1”),那么方法将直接将该字符串解析为一个 IPAddress 对象并放入数组中返回。

该方法在解析过程中,如果遇到了问题或访问权限的限制,会抛出异常,如 SocketException 或 SecurityException。

过滤IPv4地址

可以通过一个枚举值AddressFamily.InterNetwork来过滤IPv4地址。

AddressFamily 是一个枚举类型,定义了不同的网络地址类型。其中,InterNetwork 表示 IPv4 地址,InterNetworkV6 表示 IPv6 地址,Unix 表示 Unix 域套接字地址等。

函数

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;
}

该函数将返回找到的所有IPv4地址,调用后会得到一个包含所有找到的IPv4地址的列表。如果没找到IPv4地址,则返回一个空列表。

函数调用

打印出找到的所有IPv4地址。
函数调用如下:

List<string> ipv4Addresses = GetIPv4Addresses();

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

运行结果

c#获取服务器ip,C#,c#,tcp/ip,ip

其他文章

有了局域网IP,我们就可以通过UDP来实现局域网通讯,参考文章C#实现局域网之间互相传递消息
安卓获取当前设备的局域网IP地址文章来源地址https://www.toymoban.com/news/detail-737857.html

到了这里,关于C#如何获取当前主机的局域网IP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kali使用Netdiscover探测局域网中存活主机

    1、netdiscover介绍 Netdiscover 是一个主动/被动的ARP 侦查工具。使用Netdiscover工具可以在网络上扫描IP地址,检查在线主机或搜索为它们发送的ARP请求。 2、 主动模式:主动模式顾名思义就是主动的探测发现网络内主机,但是这种方式往往会引起网络管理员的注意。 打开Kali终端,使用

    2024年02月02日
    浏览(90)
  • 【Unity】(Socket)TCP 实现同一局域网 一台主机控制多台主机

    前几天博主接到一个任务:5台HTCVIVEPro设备,其中一台设备进行演示,另外四台设备画面同步。 在设备没到之前,博主进行了一下前期准本工作: 同一局域网 一台主机控制多台主机 PS:博主参考了其它博主大大的文章,感觉很有用!!!!!! 如果需要其它的一些TCP操作流程

    2024年02月10日
    浏览(52)
  • windows下查看同局域网其它主机MAC地址命令

    事情是这样的,今天去面试的时候笔试有一道题问到:Windows下使用什么命令来获知同局域网内其他主机的MAC地址。一开始看到感觉很熟悉,但是却答不上来。原来建站这么就,很多使用都要使用ping命令来测试网站的可连接性和速度等等。 但是这样的ping命令并不可以看到一台

    2024年02月05日
    浏览(62)
  • 局域网内两台主机 IP ping 不通的问题分析

    1、问题背景 同一个局域网内的两台主机互相之间 ping 不通 IP; 或者 A 机器可以 ping 通 B 机器,但是,B 机器 ping 不通 A 机器。 2、原因分析 1)查看两台机器的IP配置的IP是否在同一网段,子网掩码、网关是否一样; 2)检查两台机器的防火墙是否开启。 PS:检查机器的防火墙

    2024年02月01日
    浏览(39)
  • [路由][问题]OpenWrt解决局域网设备无法通过域名访问主机的问题

    1. 问题描述 测试发现使用OpenWrt进行端口端口转发或者Upnp之后,本地局域网设备使用域名访问主机但是却无法访问。 2. 问题分析 此问题经过查询属于\\\"NAT环回问题\\\",但是OpenWrt在做端口转发时自动设置了NAT环回,,而且已经将WAN口入站数据和转发设置为“接受”但是无效。。

    2024年02月16日
    浏览(73)
  • 局域网网速分配软件、局域网如何分配网速、局域网网速控制软件的选择

        网速慢,似乎是当前企业网络管理中的一个顽疾。在企业上班族中,大家工作时间使用电脑时的一个共同体会就是:网速真慢。尤其是上班时间,网速慢会导致很多通过网络进行的工作无法正常开展,从而降低工作效率。     那么,单位局域网如何防止网速慢,怎样

    2024年02月08日
    浏览(54)
  • 局域网禁止上网软件、局域网上网控制软件、局域网如何限制上网的方法

        有时候,我们处于某种电脑使用的管理,需要禁止电脑上网,防止电脑无节制的上网行为。或者我们需要控制电脑上网行为,限制电脑随意上网的行为,从而规范电脑使用,加强网络管理。     那么,局域网如何禁止电脑上网、如何控制电脑上网行为呢?笔者以为,

    2024年02月08日
    浏览(45)
  • 如何创建局域网 创建临时局域网设置图文教程

     在公司开会的时候,想分享同一份资料;在玩游戏的时候,想大家一起玩,都可以用局域网来完成。创建局域网可能会很麻烦,但是如果创建临时局域网却十分简单。本次小编就为大家演示办法。 具体方法  第一步:打开“网络和共享中心”,方法有两个:右键点击任务栏

    2024年02月06日
    浏览(43)
  • 局域网如何共享文件 局域网文件共享的图文方法

    网络时代,资源共享是一个非常重要的概念。同事之间,共享必要的资料,可以有效提高工作效率。朋友之间,共享经典好资源,可以避免好友频繁要求传文件的打扰。什么?你一直用QQ给同事、朋友传文件?不会共享?那下面的知识该好好补一下了。 局域网内共享文件 第一

    2024年02月06日
    浏览(43)
  • Java获取局域网中所有ip和Mac地址

    定义一个Util service调用util 返回类

    2024年02月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包