- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 梅州13年中考历史试题及答案.doc
- 案例模板概括(今麦郎).doc
- 材料腐蚀与防护概论课程总结与样卷.doc
- 校园定向越野教学设计.doc
- 毛中特前六章选择题及答案.doc
- 民法读书笔记.doc
- 一-剑桥少儿英语一级上-一A-Unit7.ppt
- 水泥土桩施工组织设7[1].31.doc
- 20100612-专利信息有效利用与经济发展(河南局).ppt
- 水环境治理、水产养殖可行性研究报告.doc
- 2024年05月山东交通职业学院招考聘用博士研究生50人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽芜湖市弋江区老年学校(大学)工作人员特设岗位公开招聘2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东东营河口区教育类事业单位招考聘用22人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东交通职业学院招考聘用100人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东威海职业学院招考聘用高层次人才2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽石台县事业单位工作人员33人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东滨州市博兴县事业单位公开招聘考察笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽蚌埠固镇县湖沟镇选聘村级后备干部7人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东省安丘市教育和体育局所属事业单位学校公开2024年招考232名工作人员笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东临沂临港经济开发区工作人员(5人)笔试历年典型题及考点剖析附带答案含详解.docx
文档评论(0)