C#.NET网络程序开发的基本类(一)(C#---网络编程)

C#.NET网络程序开发的基本类

C#.NET的System.NET命名空间为Internet网络上使用的多种协议提供了便利的编程接口。

1、IPAddress 

IPAddress 类提供的是主机的IP地址及相关信息,包括IP回环地址LoopbackIP广播地址Broadcase以及对IPv6协议的支持。

IPAddress的构造函数是public IPAddress(long address)

 

IPAddress类的常用公共方法

Equals(Object)

比较两个 IP 地址。

GetAddressBytes( )

以字节数组形式提供IPAddress 的副本

HostToNetworkOrder( )

由主机字节顺序转换为网络字节顺序

IsLoopback(IPAddress)

指示指定的 IP 地址是否为返回地址。

NetworkToHostOrder( )

数字由网络字节顺序转换为主机字节顺序。

Parse(String)

IP 地址将字符串转换为 IPAddress 实例。

ToString()

将 Internet 地址转换为其标准表示法。

TryParse(String, IPAddress)

确定字符串是否为有效 IP 地址。


常用Parse()方法创建IPAddress实例,其语法如下:

public static IPAddress Parse(string ipString)

将IP地址转换成标准表示法的ToString()方法的语法如下:

public override string ToString()

2、IPHostEntry类

IPHostEntry类将域名系统(DNS)主机名与别名和匹配的IP地址相关联,它提供主机的IP地址(借助IPAdress类)、主机名及别名。

IPHostEntry类的属性:

属性名称

类型

说明

AddressList

IPAddress[]

获取或设置与主机关联的 IP 地址列表。

Aliases

string[]

获取或设置与主机关联的别名列表,通常为一组字符串。

HostName

string[]

获取或设置主机的 DNS 名称。

3、IPEndPoint类将网络端点表示为 IP 地址和端口号。其对象表示指定IP地址和端口号的组合,从而形成到主机的连接点。

命名空间:  System.Net程序集:  System(在 System.dll 中)

[SerializableAttribute]
public class IPEndPoint : EndPoint

  名称 说明
公共方法 IPEndPoint(Int64, Int32) 用指定的地址和端口号初始化 IPEndPoint 类的新实例。
公共方法 IPEndPoint(IPAddress, Int32) 用指定的地址和端口号初始化 IPEndPoint 类的新实例。
属性名称 类型
公共属性Address                          IPAddress                   获取或设置终结点的 IP 地址。
公共属性AddressFamily AddressFamily 获取网际协议 (IP) 地址族。 (重写 EndPoint.AddressFamily。)
公共属性Port int 获取或设置终结点的端口号。


4、Dns 类

 Dns类是一个静态类提供简单的域名解析功能。

Dns类的静态方法:

GetHostName:获取本地计算机的主机名。

GetHostAddresses: 返回指定主机的 Internet 协议 (IP) 地址。

示例1、

下面的示例在 DNS 数据库中查询关于主机 www.contoso.com 的信息。

IPHostEntry hostInfo = Dns.GetHostByName("www.contoso.com");

示例2、编程实现获取并显示本机的IP地址、主机名信息。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;   //网络

namespace showIP
{
    class Program
    {
        static void Main(string[] args)
        {
            //获得本机局域网所有IP地址
            IPAddress[] addr = Dns.GetHostByName(Dns.GetHostName()).AddressList;
            foreach (IPAddress ip in addr)
            {
                Console.WriteLine("本机IP地址为:" +ip.ToString());
            }
            //获取本机主机名
            Console.WriteLine("本机主机名为:"+Dns.GetHostEntry(addr[0]).HostName);
            //创建本机端口
            IPAddress localIp = IPAddress.Parse("127.0.0.1");
            IPEndPoint iep = new IPEndPoint(localIp, 80);
            Console.WriteLine("IP端点:" + iep.ToString());
            Console.WriteLine("IP端口:" + iep.Port);
            Console.WriteLine("IP地址族:" + iep.AddressFamily);
            Console.WriteLine("可分配端口最大值:" + IPEndPoint.MaxPort);
            Console.WriteLine("可分配端口最小值:" + IPEndPoint.MinPort);
        }
    }
}

5、C#的命名空间System.Net.NetworkInformation提供了与Ping有关的Ping、PingOptions和PingReply类

(1)Ping类

利用Ping类检测本地主机与远程主机之间的通信是否正常。






阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liyuqian199695/article/details/53634662
个人分类: 网络编程(TCP/IP)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭