如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第11章网络编程 学习目标: 网络无疑是当前计算机程序中最重要的应用平台。微软推出的这一套.NET框架,顾名 思义就是要在网络上建立一个统一的操作平台。 本章将介绍网络编程的概念和TCP/IP协议;介绍了如何使用.NETFramework进行网络 通信;本章还将介绍一些可用于网络编程的控件的使用方法。 11.1网络基础 在介绍c#网络编程之前,首先介绍一下有关网络的基础知识。 11.1.1网络概述 计算机网络是整个计算机业发展最为迅速的一个领域,网络应用程序的需求也在日益扩 大。所谓计算机网络就是通过通信线路互连起来的计算机的集合。首先它是计算机的一个群 体,是由多台计算机组成的。其次这些计算机是通过一定的通信介质互连在一起的。计算机 之间的互连是指它们彼此之间能够交换信息。互连通常有两种方法:计算机间通过双绞线、 同轴电缆、电话线、光纤等有形通信介质互相连接,或通过激光、微波、地球卫星通信信道 等无形介质互连。 在计算机网络产生之初,每个计算机厂商都有一套自己的网络体系结构的概念,它们之 间互不相容。为此,国际标准化组织(ISO)在1979年建立了一个分委会来专门研究一种 用于开放系统互联的体系结构(OpenSystemsInterconnection,简称OSI)。 OSI参考模型分为七层,分别是:物理层,数据链路层,网络层,传输层,会话层,表 示层和应用层。 但是实际上,现在最普及的网络分层方法是TCP/IP协议中规定的五层方法,整个Internet 就是以TCP/IP协议为基础建立起来的,下面就来介绍TCP/IP协议。 11.1.2TCP/IP网络协议 协议时对等的网络实体间的通信的规则,可以简单理解为网络上各计算机彼此交流的一 种“语言”。 TCP/IP参考模型是因特网(Internet)的基础,它分为五层,分别是物理层,数据链路 层,网络层、传输层和应用程。通常说的TCP/IP是一组协议的总称,TCP/IP实际上一个协 议族,包括100多个相互关联的协议,其中IP(InternetProtocol,网际协议)是网络层最主要 的协议;TCP(TransmissionControlProtocol,传输控制协议)和UDP(UserDatagramProtocol, 用户数据报协议)是传输层中最主要的协议。一般认为IP,TCP,UDP是最根本的三种协议, 是其他协议的基础。 IP定义了数据按照数据报传输的格式和规则;TCP提供了可靠的、面向连接的协议; UDP是不可靠、无连接的协议。 TCP建立在IP之上(这也是TCP/IP的由来),定义了网络上程序到程序的数据传输格 式和规则,提供了数据报传输确认、丢失重发、以及数据报按照发送次序重新装配的机制。 TCP类似于打电话,在开始传输数据之前,必须要建立明确的连接。 UPD也建立在IP之上,但它是一种无连接的协议,两台计算机之间的传输类似于发送 短信,消息从一台电脑发送到另一台电脑,两者之间没有明确的连接,UDP并不保证数据 传输过程的完整性和正确性,所以说它是一种不可靠的协议,但相对于TCP来说,UDP有 更好的传输效率。 TCP/IP使用协议栈来工作,栈是所有用来在两台机器间完成一个传输所需要的所有协 议的一个集合。栈分为五个层次,每一层都能从相邻的层中接收或者发送数据,每一层都与 许多协议相关联。TCP/IP协议族的最主要协议如表11-1所示: 表11-1TCP/IP协议族 层次主要协议 应用层HTTP、FTP、SMTP、DNS、Telnet…… 传输层TCP、UDP、DVP……. 网络层IP、ICMP、ARP、RARP…… 链路层Enternet、Arpanet、PDN…… 物理层允许任何协议 下面介绍一些常用的协议。 网络层协议管理离散的计算机间的数据传输,用户一般注意不到,如IP协议为用户和 远程计算机提提供了信息包的传输方法,确保信息包能正确到达目的地;ARP协议(地址 解析协议)的作用是将IP地址映射为物理地址;ICMP协议(Internet控制消息协议)是用 来在两台计算机之间传输时处理错误和控制消息的,比如ping就是常用的由ICMP实现的 网络工具,可以用来判断网络是否通畅。 应用层协议是建立在网络层协议之上,是专门为用户提供应用服务的,一般是可见的。 如FTP协议(文件传输协议),可以实现从一个系统向另一个系统传输文件;HTTP协议(超 文本传输协议)可以在Internet上进行信息传输时使用。SMTP协议(简单邮件传输协议) 可以实现邮件传输的可靠性和高效性。 11.2.NET网络编程组件 11.2.1.NET中的网络组件 .NET类库为我们提供了很多网络组件以方便网络程序的编写,其中最重要的网络组件 主要分布在以下几个命名
as****16
实名认证
内容提供者
最近下载