IP地址 | Personal Blog

IP地址

IP地址的概念

IP地址与MAC地址:

MAC地址是由硬件生产商固定在硬件上的,全球唯一的标识码 IP地址是在互联网上一定范围内随机分发的区分连接了互联网的主机的唯一标识码

IP地址与端口号:

IP地址用来区分不同的主机 端口号用来区分不同的进程

IPv4的编址方案: 由4个字节组成的的二进制值进行识别,中间用点分隔

C#中与IP地址有关的类及其用法

IPAddress类:判断接收的IP地址是否符合IP地址规范

using System.Net;
//....
Try
{
    IPAddress ip=IPAddress.Parse(需要验证的IP地址);//Parse方法将IP地址字符串转换为类的实例
}
Catch
{
    MessageBox.Show("ERROR!");//调用Parse方法出现异常时抛出
}
if(ip.AddressFamily==AddressFamily.InterNetworkV6)//利用IPAddress类的AddressFamily属性判断是否为IPv6地址
{
    MessageBox.Show("IPv6");
}

IPEndPoint类:提供应用程序连接到主机上所需的主机及端口信息

IPHostEntry类:将主机名、IP地址和别名进行匹配

IPAddress[] ips = Dns.GetHostAddresses("域名");//Dns类的GetHostAddresses方法,返回域名对应的IP地址或主机名
IPAddress[] iph = Dns.GetHostEntry("域名");

IPAddress类提供了对IP地址的转换、处理等功能。其Parse方法可将IP地址字符串转换为IPAddress实例。

如:IPAddress ip = IPAddress.Parse(“192.168.1.1”);

IPAddress 类提供了7个只读字段:

Any 表示本地系统可用的任何IP地址 (0.0.0.0)

Broadcast 表示本地网络的IP广播地址 (255.255.255.255)

IPv6Any Socket.Bind方法用此字段指出本地系统可用的IP地址

IPv6Loopback 表示系统的回送地址

IPv6None 表示系统上没有可用的网络接口

Loopback 表示系统的回送地址 (127.0.0.1)

None 表示系统上没有可用的网络接口 (255.255.255.255)

IPEndPoint类包含应用程序连接到主机上的服务所需的主机和端口信息,通过组合服务的主机IP地址和端口号,IPEndPoint类形成到服务的连接点。

在IPEndPoint类中有两个很有用的构造函数: public IPEndPoint(long, int); public IPEndPoint(IPAddress, int);

它们的作用就是用指定的地址和端口号初始化IPEndPoint类的新实例。