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
0
投稿
猜你喜欢
- Spring security 重写Filter实现json登录在使用SpringSecurity中,大伙都知道默认的登录数据是通过key/
- 前言大家或许在iOS程序开发中经常遇到屏幕旋转问题,比如说希望指定的页面进行不同的屏幕旋转,但由于系统提供的方法是导航控制器的全局方法,无法
- 在一些允许用户自定义栏目顺序的app(如:凤凰新闻、网易云音乐等),我们可以方便地拖拽列表项来完成列表的重新排序,进而完成对栏目顺序的重排。
- C++对string进行大小写转换操作方法方法一:使用C语言之前的方法,使用函数,进行转换#include <iostream>
- java项目中常用maven工具来进行工程管理,但经常遇到的一个问题是生成的jar包越来越大,编译一次工程越来越慢。怎么有效地去除冗余依赖,
- Mybatis所需要的jar包:需要引用两个jar包,一个是mybatis,另一个是MySQL-connector-Java,如果是mave
- Android中有两种主要方式使用Service,通过调用Context的startService方法或调用Context的bindServ
- 这篇文章主要介绍了java接口私有方法实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- 好久没有写过博客了,最近因项目需求,需要用到Socket来进行通信,简单写了几个例子,记录一下,代码很简单,无非就是接收与发送,以及接收到数
- try就像一个网,把try{}里面的代码所抛出的异常都网住,然后把异常交给catch{}里面的代码去处理。最后执行finally之中的代码。
- 这篇文章主要介绍了java property配置文件管理工具框架过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 元注解是负责对其它注解进行说明的注解,自定义注解时可以使用元注解。Java 5 定义了 4 个注解,分别是 @Documented、@Tar
- 本文实例展示了DevExpress获取TreeList可视区域节点集合的实现方法,是比较有实用价值的技巧。分享给大家供大家参考。具体实现方法
- 什么是粘包/拆包 一般所谓的TCP粘包是在一次接收数据不能完全地体现
- 本文实例讲述了JavaMail实现邮件发送的方法。分享给大家供大家参考。具体如下:下载 activation.jar 和 mail.jar配
- IoC的概念介绍控制反转(IOC)模式(又称DI:Dependency Injection)就是Inversion of Control,控
- 在微服务架构下,我们在完成一个订单流程时经常遇到下面的场景:一个订单创建接口,第一次调用超时了,然后调用方重试了一次在订单创建时,我们需要去
- 一、概念哈希算法(hash algorithm):是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。哈希表(hash
- 随机数的定义为:产生的所有数字毫无关系.在实际应用中很多地方会用到随机数,比如需要生成唯一的订单号.在C#中获取随机数有三种方法:一.Ran
- 命令仓库 Ctrl + Shift + A 可以搜集对应命令快捷键1、基础快捷键1.1、无处不在的跳转项目之间的跳转1.1.1、项目项目之间