c#网络编程TCPUDP编程.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

C#网络编程技术教程第六章TCP/UDP编程

学习目标了解TCP和UDP。掌握C#中面向TCP和UDP编程的主要类:TcpClient、TcpListener和UdpClient。掌握TcpClient、TcpListener和UdpClient的编程方法。了解多播的原理,掌握基于UdpClient的多播编程方法。

本章内容6.1TCP/UDP概述6.2.NET中的TCP编程根底6.3基于TCP的编程实例6.4.NET中的UDP编程根底6.5多播编程

6.1TCP/UDP概述在TCP/IP协议族中,传输层主要包括TCP和UDP两种通信协议,它们以不同的方式实现两台主机中的不同应用程序之间的数据传输,即数据的端到端传输。由于它们的实现方式不同,因此各有一套属于自己的端口号,且相互独立。可以采用如下五元组来描述两个应用进程之间的通信关联。〔协议,信源机IP地址,信源应用进程端口,信宿机IP地址,信宿应用进程端口〕即端到端之间的一条通信连接就可以表示为上述五元组,这也是进行网络程序设计最根本的概念。其中,传输控制协议〔TransmissionControlProtocol,TCP〕提供一种面向连接的、可靠的数据传输效劳,保证了端到端数据传输的可靠性。也正因为这样,使TCP协议成为传输层最常用的协议,同时也是一个比较复杂的协议,其提供了传输层几乎所有的功能。因此和IP协议一样,成为了TCP/IP协议族中最重要的协议之一。其主要特点如下:〔1〕向应用进程提供面向连接的效劳,两个需要通过TCP协议进行数据传输的应用进程之间首先必须建立一个TCP连接,并且在数据传输完成后要释放连接。一般将请求连接的应用进程称为客户进程,而响应连接请求的应用进程称为效劳器进程,即TCP连接的建立采用的是一种客户机/效劳器工作模型。〔2〕提供全双工数据传输效劳,只要建立了TCP连接,就能在两个应用进程间进行双向的数据传输效劳,但是这种传输只是端到端的传输,不支持播送和多播。

6.1TCP/UDP概述〔3〕提供面向字节流的效劳,即TCP协议的数据传输是面向字节流的,两个建立了TCP连接的应用进程之间交换的是字节流。发送进程以字节流形式发送数据,接收进程也把数据作为字节流来接收。端到端之间不保存数据记录的边界,也就是说,在传输的层面上不存在数据记录的概念。用户数据报协议〔UserDatagramProtocol,UDP〕是传输层的两个主要协议之一,相对TCP协议来说,UDP是一种非常简单的协议,在网络层的根底上实现了应用进程之间端到端的通信。与TCP协议不同,UDP协议是一种无连接的协议,数据在传输之前通信双方不需要建立连接。信宿在收到UDP数据报之后也不需要给出任何应答报文。发送方发出的每一个UDP用户数据报都是独立的,都携带了完整的目的地址。每个数据报都可以被网络系统独立路由。因此从同一个信源发往同一个信宿的多个UDP报文可能选择不同的路径到达信宿,它们到达的先后顺序也可能不同于发送顺序。所以,UDP协议提供的是一种无连接的、不可靠的数据传输方式,在数据传输过程中没有流量控制和确认机制,数据报可能会丧失、延迟、乱序到达信宿。UDP协议只是提供了利用校验和检查数据完整性的简单过失控制,属于一种尽力而为的数据传输方式。虽然UDP用户数据报只提供不可靠的传输方式,但它具有其自身的一些特点:〔1〕UDP是一个无连接协议,传输数据之前信源和信宿不需要建立连接,因此不存在连接建立的时延。在信源端,UDP传送数据的速度仅仅受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在信宿端,UDP把每个数据报放在队列中,应用程序每次从队列中读一个数据报。

6.1TCP/UDP概述〔2〕由于传输数据不需要建立连接,也就不需要维护连接状态,包括收发状态等,这样一台效劳机可同时向多个客户机传输相同的数据,例如实现多播。〔3〕UDP数据报的首部很短,只有8字节,相对于TCP的20字节首部的开销要小很多。〔4〕吞吐量不受流量控制算法的调节,只受应用软件生成数据的速率、传输带宽、信源和信宿主机性能的限制。由于UDP具有这些特点,有许多应用更适合使用UDP协议,如:〔1〕只需要简单数据交换的应用,例如DNS效劳,它不需要复杂的可靠性保证机制,这样,利用UDP来传输数据既可以节省系统开销又提高了网络的传输效率。〔2〕不需要关心数据的过失控制和流量控制的应用。〔3〕实时性要求较高但可承受一定的数据错误的应用,例如实时语音传输、实时视频通信等。〔4〕实现一对多数据发送的应用,例如播送和组播。

6.2.NET中的TCP编程根底6.2.1TcpCli

您可能关注的文档

文档评论(0)

147****4268 + 关注
实名认证
内容提供者

认真 负责 是我的态度

1亿VIP精品文档

相关文档