基于TCP、UDP的聊天文件传输程序.docx
《基于TCP、UDP的聊天文件传输程序.docx》由会员分享,可在线阅读,更多相关《基于TCP、UDP的聊天文件传输程序.docx(18页珍藏版)》请在优知文库上搜索。
1、网络通信原理课程题目基于TCP、UDP的聊天文件传输程序1111vf-目11 2yG*FJt12网络编程的预备知识12 .1TCP/IP协议族简介12.2用户数据报协议UDP22.3传输控制协议TCP33eJ!*.531.532QtNetWOrk63. 3整体结构和子模块划分74关键模块分析94. 1聊天内容传输模块4.2文件传输模块开发工具5.1 测试环境5.2 测试步骤实验总结6.1个人收获6.2待改善的问题参考资料1实验综述1.1 设计目标TCP/IP协议是Internet的基础和最基本的网络协议。本实验利用了UDP和TCP协议,实现一个具有聊天功能和文件传输功能的QT插件。实验中使用非
2、面向连接的UDP协议实现文字传输的功能,使用面向连接的TCP协议实现文件传输的功能。1.2 完成功能(1)布局界面,创建若干个按钮和输入控件和一个现实控件,如图1所示。(2)利用IJDPSOCKET实现网络聊天的功能。(3)利用Tcpsocket实现文件传输的功能。3TestWork.o!回一我的名字:图1程序界面2网络编程的预备知识2.1 TCP/IP协议族简介TCP/IP体系结构分为四层,分别是网络接口层、网际层、运输层和应用层。如图2所示的一种分层次画出具体协议的表示图可知,TCP/IP协议族具有“两头大而中间小”的特点。应用层和网络接口层都有多种协议,而中间的IP层是最小的,上层的各种
3、协议都向下汇聚到一个IP协议中。这种沙漏型的结构表明:TCP/IP协议可以为各式各样的应用提供服务(所谓的everthingoverIP)。同时TCP/IP协议也允许IP协议在各式各样的网络结构中构成互联网上运行(所谓的IPovereverything)0正因为如此,因特网才会发展到今天这种全球规模。从图2不难看出IP协议在因特网中起到核心的作用。我们应该知道的是,TCP/IP中的运输层向高层用户屏蔽了下层的网络核心细节(如网络拓扑、路由选择协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道尽管下层可能存在着非常复杂的协议。图2TCP/IP协议族示意图运输层有两
4、个主要的协议,分别是面向连接的TCP协议和无连接的UDP协议。下面详细介绍这两个协议。2.2 用户数据报协议UDP用户数据报协议(USerDatagramProtocol,UDP)是一种无连接的网络协议,它只是在IP的数据报服务之上增加了很少的功能,即复用和解复用以及差错检测的功能。UDP的主要特点是:(1)UDP是无连接的,即发送数据之前不需要建立连接(当然发送数据结束之后也没有连接需要释放),因此减少了开销和发送数据之前的时延。(2) UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。(3) UDP是面向报文的。发送方的UDP对应用程序交下来的报文仅添加首部之
5、后就交付给IP层,也就是说,应用层交给UDP多长的报文,UDP照样发送。所以应用程序应该选择合适的报文大小,若报文过长,则IP层将会对UDP报文进行分片,降低了IP层的效率;反之,若报文太短,则导致IP首部相对过大,也降低了IP层的效率(4) UDP没有拥塞控制,因此网络出现拥塞不会对主机的发送速率造成影响。这对实时应用是很重要的。(5) UDP支持一对一、一对多、多对一和多对多的交互通信。(6) UDP首部仅有8个字节,开销较小。2.3传输控制协议TCP传输控制协议(TransmissionControlProtocol,TCP)是TCP/IP体系中非常复杂的一个协议,它具有如下特点:(I)
6、TCP是面向连接的运输层协议。这就是说,应用程序在使用TCP协议之前,必须先建立TCP连接。在传送数据结束之后,必须释放已建立的TCP连接。(2)每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。(3) TCP提供可靠交付服务。也就是说,用户可以通过TCP协议无差错、不丢失、不重复且按序到达地传输数据。(4) TCP提供全双工通信。它允许连接的双方在任何时候发送数据。(5)面向字节流。TCP中的“流”指的是流入进程和从进程流出的字节序列。即应用程序与TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据块仅看成一连串无结构的字节流。发送方应用进程字节流CE奉节写入 发送缓存
7、TCP /I】耳 ITIldI 目 I4加上TCP苜输、 构成TCP报文段IId 91Ha国表示TCP报文段的首部i, ? B表示序号为X的数据字节i图3TCP面向流的概念TCP对应用进程一次把多长的报文发到TCP的缓存器中并不关心,它会根据其发送窗口的大小来调整一个报文段有多长。如果发送来的数据太长,则它将对数据进行分段,如果太短,则会等待数据达到一定大小再发送。TCP所谓的面向连接并不是指真正的物理连接,而是一条建立在各种可靠性保隙机制上的序连接。连接是TCP最基本的抽象,TCP的很多特性都与其面向连接的这个基本特性有关。如前所述,每一条TCP连接有两个端点,这个端点不是主机,不是IP地址
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 TCP UDP 聊天 文件传输 程序