使用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() + "\n 端口号:"… //使用 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 + "\n";

          }

  5. WebRequest 类和 WebResponse 类

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

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

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

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

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

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

    调用 GetResponse 方法来进行创建。

24.2 网络编程基础——System.Net 命名空间的更多相关文章

  1. 网络编程基础——System.Net.Socket 命名空间及相关类的使用

    System.Net.Socket 命名空间主要提供制作 Socket 网络应用程序的相关类.(Socket 类.TcpClient 类.TcpListener 类 和 UdpClient 类) 1. ...

  2. C#网络编程基础知识

    C#网络编程基础知识一 1.IPAddress类 用于表示一个IP地址.IPAddress默认构造函数 public IPAddress(long address);一般不用 其中Parse()方法最 ...

  3. Android 网络编程基础之简单聊天程序

    前一篇讲了Android的网络编程基础,今天写了一个简单的聊天程序分享一下 首先是服务端代码: package com.jiao.socketdemo; import java.io.Buffered ...

  4. Java网络编程和NIO详解开篇:Java网络编程基础

    Java网络编程和NIO详解开篇:Java网络编程基础 计算机网络编程基础 转自:https://mp.weixin.qq.com/s/XXMz5uAFSsPdg38bth2jAA 我们是幸运的,因为 ...

  5. python全栈开发从入门到放弃之socket网络编程基础

    网络编程基础 一 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务 ...

  6. 网络编程基础之C/S架构和TCP/IP协议

    一.何谓C/S架构 C指的是client(客户端软件),S指的是Server(服务端软件),既然我们的的标题是网络编程基础, 那我们就一起来学习怎样写一个C/S架构的软件,实现服务端与客户端软件基于网 ...

  7. 大数据学习笔记——Java篇之网络编程基础

    Java网络编程学习笔记 1. 网络编程基础知识 1.1 网络分层图 网络分层分为两种模型:OSI模型以及TCP/IP网络模型,前者模型分为7层,是一个理论的,参考的模型:后者为实际应用的模型,具体对 ...

  8. Linux网络编程基础API

    第5章 Linux网络编程基础API 探讨Linux网络编程基础API与内核中TCP/IP协议族之间的关系,并未后续章节提供编程基础.从3个方面讨论Linux网络API. socket地址API.so ...

  9. linux 网络编程 基础

    网络编程基础 套接字编程需要指定套接字地址作为参数,不同的协议族有不同的地址结构,比如以太网其结构为sockaddr_in. 通用套接字: struct sockaddr { sa_family_t ...

随机推荐

  1. 关于阿里云专有网络搭建FTP服务器的深坑

    之前用的FTP服务器都是,随便搭建一下就能用了, 昨天因为服务器的问题,换了个服务器,搭建FTP服务器的时候发现, 搭建的服务器居然只能使用 主动模式访问,改成被动后 无法获取目录, 百度了 各大论坛 ...

  2. Java的各种加密算法

    Java的各种加密算法 JAVA中为我们提供了丰富的加密技术,可以基本的分为单向加密和非对称加密 1.单向加密算法 单向加密算法主要用来验证数据传输的过程中,是否被篡改过. BASE64 严格地说,属 ...

  3. 安装webpack出现警告: fsevents@^1.0.0 (node_modules\chokidar\node_modules\fsevents):

    警告如下: npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\chokidar\node_mo ...

  4. 使用qmlscene预览qml文件

    功能:可以预览qml文件的界面 使用:qmlscene myapp.qml

  5. Python3基础 str title 单词首字母大写,其余均为小写

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  6. python2.7+pyqt4 +eric4安装配置

    eric4安装与汉化一直没找到合适python的IDE工具,直到遇到了eric4这款开源软件.然而在使用过程中发现输出的中文字符竟然是乱码,修修改改配置总算正常显示了,何不干脆把软件界面也汉化下. 一 ...

  7. 切面条|2014年蓝桥杯B组题解析第二题-fishers

    切面条 一根高筋拉面,中间切一刀,可以得到2根面条. 如果先对折1次,中间切一刀,可以得到3根面条. 如果连续对折2次,中间切一刀,可以得到5根面条. 那么,连续对折10次,中间切一刀,会得到多少面条 ...

  8. 【Tomca安装与启动】tomcatLinux环境安装与启动

    一.安装 1.下载tomcat安装包 2.解压安装包 3.配置环境变量 打开~/.bash_profile文件,输入一下两句话: export TOMCAT_HOME=/Users/enniu1/De ...

  9. BZOJ1632: [Usaco2007 Feb]Lilypad Pond SPFA+最短路计数

    Description 为了让奶牛们娱乐和锻炼,农夫约翰建造了一个美丽的池塘.这个长方形的池子被分成了M行N列个方格(1≤M,N≤30).一些格子是坚固得令人惊讶的莲花,还有一些格子是岩石,其余的只是 ...

  10. SublimeText3常用快捷键和优秀插件(亲测)

    SublimeText3常用快捷键和优秀插件 SublimeText是前端的一个神器,以其精简和可DIY而让广大fans疯狂.好吧不吹了直入正题 -_-!! 首先是安装,如果你有什么软件管家的话搜一下 ...