C# 获取本机IP地址(IPv4和IPv6)
作者:IC00 发布时间:2023-09-04 08:48:36
标签:C#,本机IP地址
前言:
在我们使用C# WinForm中,我们有时候是需要或者自己本机的IP地址进行处理,今天我们学习一下如何使用C# Winform获取主机的IP地址。现在博主手把手教你获取,很简单的。
操作步骤
一,创建文件
创建Winform窗体文件,这里我就不多做介绍,你们可以看看我之前的文章,都是保姆级的。
二,窗体设计
我们从winform 工具箱拖动textbox,和一个按钮,对按钮重命名
三,代码设计
3.1双击按钮进入代码设计窗口,添加命名空间,也可不添加,等下输入代码时使用快捷键也是可以的,Alt+Enter,使用ALT键+回车。
using System.Net;
using System.Net.Sockets;
3.2输入代码
IPAddress[] ip = Dns.GetHostAddresses(Dns.GetHostName());
foreach (IPAddress address in ip)
{
if (address.AddressFamily == AddressFamily.InterNetwork)
{
textBox1.Text += address.ToString() + "\r\n";
}
}
3.3 Dns的方法字段
BeginGetHostAddresses(String, AsyncCallback, Object)
异步返回指定主机的 Internet 协议 (IP) 地址。
BeginGetHostEntry(IPAddress, AsyncCallback, Object)
将 IP 地址异步解析为 IPHostEntry 实例。
BeginGetHostEntry(String, AsyncCallback, Object)
将主机名或 IP 地址异步解析为 IPHostEntry 实例。
EndGetHostAddresses(IAsyncResult)
结束对 DNS 信息的异步请求。
EndGetHostEntry(IAsyncResult)
结束对 DNS 信息的异步请求。
GetHostAddresses(String)
返回指定主机的 Internet 协议 (IP) 地址。
GetHostAddresses(String, AddressFamily)
返回指定主机的 Internet 协议 (IP) 地址。
GetHostAddressesAsync(String)
返回指定主机的 Internet 协议 (IP) 地址以作为异步操作。
GetHostAddressesAsync(String, AddressFamily, CancellationToken)
返回指定主机的 Internet 协议 (IP) 地址以作为异步操作。
GetHostAddressesAsync(String, CancellationToken)
返回指定主机的 Internet 协议 (IP) 地址以作为异步操作。
GetHostEntry(IPAddress)
将 IP 地址解析为 IPHostEntry 实例。
GetHostEntry(String)
将主机名或 IP 地址解析为 IPHostEntry 实例。
GetHostEntry(String, AddressFamily)
将主机名或 IP 地址解析为 IPHostEntry 实例。
GetHostEntryAsync(IPAddress)
将 IP 地址解析为 IPHostEntry 实例以作为异步操作。
GetHostEntryAsync(String)
将主机名或 IP 地址解析为 IPHostEntry 实例以作为异步操作。
GetHostEntryAsync(String, AddressFamily, CancellationToken)
将主机名或 IP 地址解析为 IPHostEntry 实例以作为异步操作。
GetHostEntryAsync(String, CancellationToken)
将主机名或 IP 地址解析为 IPHostEntry 实例以作为异步操作。
GetHostName()
获取本地计算机的主机名。
3.4 AddressFamily方法字段
AppleTalk | 16 | AppleTalk 地址。 |
---|---|---|
Atm | 22 | 本机 ATM 服务地址。 |
Banyan | 21 | Banyan 地址。 |
Ccitt | 10 | CCITT 协议(如 X.25)的地址。 |
Chaos | 5 | MIT CHAOS 协议的地址。 |
Cluster | 24 | Microsoft 群集产品的地址。 |
ControllerAreaNetwork | 65537 | 控制器区域网络地址。 |
DataKit | 9 | Datakit 协议的地址。 |
DataLink | 13 | 直接数据链接接口地址。 |
DecNet | 12 | DECnet 地址。 |
Ecma | 8 | 欧洲计算机制造商协会 (ECMA) 地址。 |
FireFox | 19 | FireFox 地址。 |
HyperChannel | 15 | NSC Hyperchannel 地址。 |
Ieee12844 | 25 | IEEE 1284.4 工作组地址。 |
ImpLink | 3 | ARPANET IMP 地址。 |
InterNetwork | 2 | IP 版本 4 的地址。 |
InterNetworkV6 | 23 | IP 版本 6 的地址。 |
Ipx | 6 | IPX 或 SPX 地址。 |
Irda | 26 | IrDA 地址。 |
Iso | 7 | ISO 协议的地址。 |
Lat | 14 | LAT 地址。 |
Max | 29 | MAX 地址。 |
NetBios | 17 | NetBios 地址。 |
NetworkDesigners | 28 | 支持网络设计器 OSI 网关的协议的地址。 |
NS | 6 | Xerox NS 协议的地址。 |
Osi | 7 | OSI 协议的地址。 |
Packet | 65536 | 低级别数据包地址。 |
Pup | 4 | PUP 协议的地址。 |
Sna | 11 | IBM SNA 地址。 |
Unix | 1 | Unix 本地到主机地址。 |
Unknown | -1 | 未知的地址族。 |
Unspecified | 0 | 未指定的地址族。 |
VoiceView | 18 | VoiceView 地址。 |
四 效果展示
IP V4 效果展示
IP V6效果展示
总结:
通过获取IP地址簇的方式,来到达我们的需求,虽然有点简单,但是还是值得我们学习的,技术有限,希望能帮到大家,更多相关C# 获取本机IP地址内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源:https://blog.csdn.net/qq_46104786/article/details/126257239


猜你喜欢
- 本文实例讲述了Android编程使用Fragment界面向下跳转并一级级返回的实现方法。分享给大家供大家参考,具体如下:1.首先贴上项目结构
- 1.场景介绍:开发过程中我们经常性的会用到许多的中间表,用于数据之间的对应和关联.这个时候我们关联最多的就是ID,我们在一张表中插入数据后级
- 本文最终结果大概是这样的,使用java技术随机生成10个数,然后填充一个数组并在消息框中显示数组内容,接着对数组求和输出,将结果显示在消息框
- 注解定义: 注解是一种注释机制,它可以注释包、类、方法、变量、参数,在编译器生成类文件时,标注可以被嵌入到字节码中。注解的分类:内置注解Ov
- 原来的测试类的注解:@RunWith(SpringRunner.class)@SpringBootTest一直没法自动注入,后来在@Spri
- application.properties有以下这几条数据方法一:@Value注解+@Component建议properties少的时候用
- 前言Date 类Date 类表示系统特定的时间戳,可以精确到毫秒。Date 对象表示时间的默认顺序是星期、月、日、小时、分、秒、年。构造方法
- 本文实例为大家分享了banner轮播图无限轮播效果的具体代码,供大家参考,具体内容如下效果展示第一步(权限配置)<uses-permi
- 本文实例为大家分享了java统计文件中字符个数的具体代码,供大家参考,具体内容如下package com.zhu.io;import jav
- Android中子线程和UI线程之间通信的详细解释 1.在多线程编程这块,我们经常要使用Handler,Thread和Runnable这三个
- 之前接了需求要让视频播放时可以像优酷视频那样在悬浮窗里播放,并且悬浮窗和主播放页面之间要实现无缝切换,项目中使用的是自封装的ijkplaye
- #简易版1、客户发送请求经过 DisPatcherServlet 核心过滤器2、DisPatcherServlet 核心控制器在去找一个或多
- Java 开发中,需要将一些易变的配置参数放置再 XML 配置文件或者 properties 配置文件中。然而 XML 配置文件需要通过 D
- 项目记录:1.图像原理通常图像都是2D,对一副图像,可以看做其宽w*高h的一个二维数组, 即 图像=int[w][h],在w和h位置的每一个
- 有时候在配置中心有些参数是需要修改的,这时候如何不重启而达到实时生效的效果呢?添加依赖<dependencies>
- 实现“摇一摇”功能,其实很简单,就是检测手机的重力感应,具体实现代码如下:1、在 AndroidManifest.xml 中添加操作权限2、
- 1.Spring IOC容器可以管理bean的生命周期,Spring允许在bean生命周期内特定的时间点执行指定的任务。2.Spring I
- 对接支付宝支付接口,官方文档已经写的很清楚了,但是也有很多像我一样的小白,第一次对接支付宝支付接口,会有些迷茫,所以我在此写下这篇文章,给我
- 先简单说一下思路:网络变化时系统会发出广播。所以我们监听这个广播,利用接口回调通知activity做相应的操作就好了。思路判断网络状态(写个
- 前言比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。Java 中常用的比