socket网络编程

 一、IP地址操作类
      1、IPAddress类
      a、在该类中有一个  Parse()方法,可以把点分的十进制IP表示转化成IPAddress类,方法如下:
      IPAddress address = IPAddress.Parse(“192.168.0.1”);
      b、IPAddress提供4个只读字段
      
      Any   用于代表本地系统可用的任何 IP 地址
      Broadcase 用于代表本地网络的 IP 广播地址
      Loopback 用于代表系统的回送地址    
      None 用于代表系统上没有网络接口

      其中IPAddress.Any最常用可以用来表示本机上所有的IP地址,这对于socket服务进行侦听时,最方便使用,不用对每个IP进行侦听了。而IPAddress.Broadcase可用来UDP的IP广播,这些具体讲socket时再详细介绍。

     2、 IPEndPoint 类            
      我们可以通过二种构造方法来创建IPEndPoint类:
      a、 IPEndPoint(long address, int port)
      b、IPEndPoint(IPAddress address, int port)

      四个属性:
   
      Address
      AddressFamily
      Port
      MaxPort
      MinPort

      这些应该从名字上就很好理解,不再一一介绍。IPEndPoint其实就是一个IP地址和端口的绑定,可以代表一个服务,用来Socket通讯。

       二、DNS相关类
      DNS类有四个静态方法,来获取主机DNS相关信息,
      1、 GetHostName() 
      通过Dns.GetHostName()可以获得本地计算机的主机名
   
      2、GetHostByName()
      根据主机名称,返回一个IPHostEntry 对象:
       
      IPHostEntry GetHostByName(string hostName)

      其中 IPHostEntry 把一个 DNS 主机名与一个别名和 IP 地址 的数组相关联,包含三个属性:
      * AddressList :一个 IPAddress 对象的数组
      * Aliases :一个字符串对象数组
      * HostName :一个用于主机名的字符串对象

      3、GetHostByAddress()

      类似于GetHostByName(),只不过这里的参数是IP地址,而不是主机名,也返回一个IPHostEntry对象。

      IPHostEntry GetHostByAddress(IPAddress address)
      IPHostEntry GetHostByAddress(string address)

      4、 Resolve()

      当我们不知道输入的远程主机的地址是哪种格式时(主机名或IP地址),用以上的二种方法来实现,我们可能还要通过判断客户输入的格式,才能正确使用,但Dns类提供一更简单的方法Resolve(),该方法可以接受或者是主机名格式或者是IP地址格式的任何一种地址,并返回IPHostEntry对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值