wintem 发表于 2018-2-23 00:03

C#-----网络编程基础 IPAddress类

                                                   IPAddress类
IPAddress类主要提供网际协议(IP)地址。构造IP地址实例是通过IPAddress类来实现的。程序中构造IP地址实例是可以使用IPAdress类的构造函数。构造函数如下表所示
构造函数名称                                    说明
                   IPAdress(Byte[])      用指定Byte数组的地址初始化IPAdress类的新实例   
         IPAdress(Int64)         用指定Int64的地址初始化IPAdress类的新实例
                        IPAdress(Byte[],Int64)             用指定Byte数组的地址和指定范围标识符初始化IPAdress类的新实例
IPAdress类的构造函数中的参数是指定IP地址的数值。例如如果参数值为265,此构造函数得到的IPAdress实例为“0.1.0.0”;同样参数值为65536,构造后的IP地址就为“0.0.1.0”,依次类推,由此可见,在程序中使用这个构造函数来构造IPAdress实例不仅繁琐而且很不直观。
一个IPAdress地址对象用来表示一个单一的IP地址,在构造IP地址的实例时,通常不需要使用构造函数,因为在该类里有许多成员用来构造并操作IP地址对象。
方法名称                              说明
Parse            将IP地址字符串转换为IPAdress实例
TryParse                确定字符串是否为有效的IP地址
MapToIPv4      将IPAddress对象映射到IPv4地址
IsLoopback                   指示指定IP是否是回环地址
GetAddressBytes          以字节数组形式提供IPAddress的副本
Equals                                          比较两个IP地址
上述IPAddress类成员方法提供了对IP地址的转换,处理等功能。其中Parse方法可将IP地址字符串转换为IPAddress实例
如:
IPAddress newaddress=IPAddress.Parse(“192.168.1.1”);
IPAddress类还提供了7个只读属性
属性名称                                                                   说明                                                                            
Any                              表示本地系统可用的任何IP地址,指示服务器应侦听所有网络接口上的客户端活动      Broadcast                         表示本地网络的IP广播地址
IPv6Any                                             Socket.Bind方法用次字段指出本地系统可用的IP地址
IPv6Loopback                                                                               表示系统的回送地址   
IPv6None                                                               以字节数组形式提供IPAdress的副本
Loopback                                                                                       表示系统的回送地址
None                                                                           表示系统上没有可用的网络接口

      范例

////将地址字符串转换为IPAdress实例            IPAddress test1 = IPAddress.Parse("192.168.1.1");            Console.WriteLine("测试IP{0}", test1);            IPAddress test2 = IPAddress.Loopback;            IPAddress test3 = IPAddress.Broadcast;            IPAddress test4 = IPAddress.Any;//提供一个IP,将指示服务器侦听所有的网络接口上的网络客户端活动            IPAddress test5 = IPAddress.None;//表示不指定系统的任何网络接口            if(IPAddress.IsLoopback(test2))            {                 Console.WriteLine("The Loopback addressis:{0}", test2.ToString());            }            else            {                Console.WriteLine("Error obtaining the loopback address");                Console.WriteLine("The loopback address is not the local address.\n");                Console.WriteLine("The tset address is:{0}", test1.ToString());                Console.WriteLine("Broadcast address :{0}", test3.ToString());                Console.WriteLine("The Any address is :{0}", test4.ToString());                Console.WriteLine("The None address is:{0}", test5.ToString());            }            Console.ReadKey();

wintem 发表于 2018-2-23 00:05

////将地址字符串转换为IPAdress实例
            IPAddress test1 = IPAddress.Parse("192.168.1.1");
            Console.WriteLine("测试IP{0}", test1);
            IPAddress test2 = IPAddress.Loopback;
            IPAddress test3 = IPAddress.Broadcast;
            IPAddress test4 = IPAddress.Any;//提供一个IP,将指示服务器侦听所有的网络接口上的网络客户端活动
            IPAddress test5 = IPAddress.None;//表示不指定系统的任何网络接口
            if(IPAddress.IsLoopback(test2))
            {
                Console.WriteLine("The Loopback addressis:{0}", test2.ToString());
            }
            else
            {
                Console.WriteLine("Error obtaining the loopback address");
                Console.WriteLine("The loopback address is not the local address.\n");
                Console.WriteLine("The tset address is:{0}", test1.ToString());
                Console.WriteLine("Broadcast address :{0}", test3.ToString());
                Console.WriteLine("The Any address is :{0}", test4.ToString());
                Console.WriteLine("The None address is:{0}", test5.ToString());
            }
            Console.ReadKey();

wintem 发表于 2018-2-23 00:05

新人贴不喜勿喷

葫芦炒鸡蛋 发表于 2018-2-23 00:13

楼主是学生么{:301_1009:}

wintem 发表于 2018-2-23 00:50

葫芦炒鸡蛋 发表于 2018-2-23 00:13
楼主是学生么

怎么了啊????

逝晓风 发表于 2018-2-23 01:54

感谢分享

wintem 发表于 2018-2-23 09:28

感谢支持....

psx1lin 发表于 2018-2-23 11:12

收藏了
感谢分享

wintem 发表于 2018-2-23 12:17

感谢支持

wintem 发表于 2018-2-23 18:11

求评论。。。
页: [1] 2
查看完整版本: C#-----网络编程基础 IPAddress类