zoukankan      html  css  js  c++  java
  • 24.2 网络编程基础——System.Net 命名空间

        使用C#进行网络编程时,通常要用到:

              System. Net  命名空间、

              System. Net. Sockets  命名空间、

              System. Net. Mail  命名空间。

    24.2.1 System. Net 命名空间及相关类的使用

          System. Net 命名空间为当前网络上使用的多种协议提供了简单的编程接口。

          它所包含的 WebRequest 类和 WebResponse 类形成了所谓的可插接式协议的基础。

          (插接式协议是网络服务的一种实现,它使用户能够开发出使用 Internet 资源的应用程序,而不必考

        虑各种不同协议的具体细节)

      1. Dns 类 ——静态类

          Dns 类 Internet 域名系统(DNS检索关于特定主机的信息

          Dns 类中的常用方法及说明如下:

              GetHostAddresses ( )    返回指定主机的 IP 地址

              GetHostName ( )      获取本地计算机的主机名

          使用:

             IPAddress[]  ips = Dns.GetHostAddresses( textBox1.Text ) ;   //获取指定主机的 IP 地址

             foreach( IPAddress ip in ips )      //循环访问获得的 IP 地址

             {

               textBox2.Text = ip.ToString();    //将得到的 IP 地址显示在文本框中

             }

       2. IPAddress 类

          IPAddress 类包含计算机在 IP 网络上的地址,主要用来提供网际协议(IP)地址

          常用属性:   Address 属性    网际协议地址

          常用方法:   Parse ( )      将 IP 地址字符串转换为 IPAddress 实例

      3. IPEndPoint 类

          IPEndPoint 类主要用来将网络端点表示为 IP 地址和端口号

          常用属性:

              Address 属性    获取或设置终结点的 IP 地址

              Port 属性      获取或设置终结点的端口号

          使用:

            IPEndPoint  ipePoint = new IPEndPoint( IPAddress.Parse(textBox1.Text) , 80 ) ;  //实例化 IPEndPoint 类对象

            label2.Text = "IP 地址:" + ipePoint.Address.ToString() + " 端口号:"… //使用 IPEndPoint 类对象获取…

      4. WebClient 类

          WebClient 类提供URI标识的任何本地、Intranet 或 Internet 资源发送数据以及从这些资源接收数据的公共方法。

          常用属性:

              BaseAddress 属性    获取或设置 WebClient 发出请求的基 URI

              Encoding 属性        获取或设置用于上传和下载字符串的 Encoding

          使用:

              WebClient wclient = new WebClient();    //实例化 WebClient 类对象

              wclient.BaseAddress = textBox1.Text;    //设置 WebClient 的基 URI

              wclient.Encoding = Encoding.UTF8;      //指定下载字符串的编码方式

              wclient.Headers.Add ("Content-Type", "application/x-www…") ;    //为 WebClient 类对象添加标头

              Stream stream = wclient.OpenRead ( textBox1.Text ) ;      //

              StreamReader sreader = new StreamReader ( stream ) ;

              string str = string.Empty;

              while(( str = sreader.ReadLine() ) != null )

              {

                richTextBox1.Text += str + " ";

              }

      5. WebRequest 类和 WebResponse 类

          WebRequest 类.NET Framework 的请求/相应模型抽象基类用于访问 Internet 数据

          (使用该请求/相应模型的应用程序可以用协议不可知的方式从 Internet 请求数据。 

          在这种方式下,应用程序处理 WebRequest 类的实例,而协议特定的子类则执行请求的具体细节。)

          WebResponse 类也是抽象基类应用程序可以使用 WebResponse 类(以协议不可知的方式)参与请求

        和响应事务而从 WebResponse 类派生的协议类携带请求的详细信息。

          另外,需要注意的是,客户端应用程序不直接创建 WebResponse 对象而是通过对 WebRequest 实例

        调用 GetResponse 方法来进行创建

  • 相关阅读:
    python模块之random模块
    python模块之os模块
    python模块之collections模块
    python模块之re模块
    python基础十五之递归函数
    python基础十四之匿名函数
    python基础十三之内置函数
    leetcode 108 和leetcode 109 II
    leetcode 108 和leetcode 109
    对于final修饰的类型运算时的表现
  • 原文地址:https://www.cnblogs.com/zhangchaoran/p/7050460.html
Copyright © 2011-2022 走看看