基于TCP、UDP的聊天文件传输程序
18页1、网络通信原理课程题 目 基于TCP、UDP的聊天文件传输程序目 录1 实验综述11.1 设计目标11.2 完成功能12 网络编程的预备知识12.1 TCP/IP协议族简介12.2 用户数据报协议UDP22.3 传输控制协议TCP33 编程实现53.1 编程环境53.2 QtNetwork63.3 整体结构和子模块划分74 关键模块分析94.1 聊天内容传输模块94.2 文件传输模块105 开发工具135.1 测试环境135.2 测试步骤136 实验总结156.1 个人收获156.2 待改善的问题157 参考资料16 研究生宽带通信网原理实验报告 1 实验综述1.1 设计目标TCP/IP协议是Internet的基础和最基本的网络协议。本实验利用了UDP和TCP协议,实现一个具有聊天功能和文件传输功能的QT插件。实验中使用非面向连接的UDP协议实现文字传输的功能,使用面向连接的TCP协议实现文件传输的功能。1.2 完成功能(1)布局界面,创建若干个按钮和输入控件和一个现实控件,如图1所示。(2)利用UDPSOCKET实现网络聊天的功能。(3)利用TCPSOCKET实现文件传输的功能。图1
2、程序界面2 网络编程的预备知识2.1 TCP/IP协议族简介TCP/IP体系结构分为四层,分别是网络接口层、网际层、运输层和应用层。如图2所示的一种分层次画出具体协议的表示图可知,TCP/IP协议族具有“两头大而中间小”的特点。应用层和网络接口层都有多种协议,而中间的IP层是最小的,上层的各种协议都向下汇聚到一个IP协议中。这种沙漏型的结构表明:TCP/IP协议可以为各式各样的应用提供服务(所谓的everything over IP)。同时TCP/IP协议也允许IP协议在各式各样的网络结构中构成互联网上运行(所谓的IP over everything)。正因为如此,因特网才会发展到今天这种全球规模。从图2不难看出IP协议在因特网中起到核心的作用。我们应该知道的是,TCP/IP中的运输层向高层用户屏蔽了下层的网络核心细节(如网络拓扑、路由选择协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道,尽管下层可能存在着非常复杂的协议。图2 TCP/IP协议族示意图 运输层有两个主要的协议,分别是面向连接的TCP协议和无连接的UDP协议。下面详细介绍这两个协议。2.
3、2 用户数据报协议UDP 用户数据报协议(User Datagram Protocol, UDP)是一种无连接的网络协议,它只是在IP的数据报服务之上增加了很少的功能,即复用和解复用以及差错检测的功能。UDP的主要特点是:(1)UDP是无连接的,即发送数据之前不需要建立连接(当然发送数据结束之后也没有连接需要释放),因此减少了开销和发送数据之前的时延。(2)UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。(3)UDP是面向报文的。发送方的UDP对应用程序交下来的报文仅添加首部之后就交付给IP层,也就是说,应用层交给UDP多长的报文,UDP照样发送。所以应用程序应该选择合适的报文大小,若报文过长,则IP层将会对UDP报文进行分片,降低了IP层的效率;反之,若报文太短,则导致IP首部相对过大,也降低了IP层的效率(4)UDP没有拥塞控制,因此网络出现拥塞不会对主机的发送速率造成影响。这对实时应用是很重要的。(5)UDP支持一对一、一对多、多对一和多对多的交互通信。(6)UDP首部仅有8个字节,开销较小。2.3 传输控制协议TCP传输控制协议(Transmis
4、sion Control Protocol,TCP)是TCP/IP体系中非常复杂的一个协议,它具有如下特点:(1)TCP是面向连接的运输层协议。这就是说,应用程序在使用TCP协议之前,必须先建立TCP连接。在传送数据结束之后,必须释放已建立的TCP连接。(2)每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。(3)TCP提供可靠交付服务。也就是说,用户可以通过协议无差错、不丢失、不重复且按序到达地传输数据。(4)TCP提供全双工通信。它允许连接的双方在任何时候发送数据。(5)面向字节流。TCP中的“流”指的是流入进程和从进程流出的字节序列。即应用程序与TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据块仅看成一连串无结构的字节流。图3 TCP面向流的概念TCP对应用进程一次把多长的报文发到TCP的缓存器中并不关心,它会根据其发送窗口的大小来调整一个报文段有多长。如果发送来的数据太长,则它将对数据进行分段,如果太短,则会等待数据达到一定大小再发送。TCP所谓的面向连接并不是指真正的物理连接,而是一条建立在各种可靠性保障机制上的序连接。连接是TCP最基本的抽象,TC
《基于TCP、UDP的聊天文件传输程序》由会员liy****000分享,可在线阅读,更多相关《基于TCP、UDP的聊天文件传输程序》请在金锄头文库上搜索。
仓前街道北片六村河道保洁项目招标文件
仓前街道污水管网巡查及养护项目招标文件
人民医院快速脑干诱发电位反应仪项目招标文件
人民医院巍山分院CT采购项目招标文件
千年古城复兴一期项目体育场地设施采购项目招标文件
乔司中学物业服务外包项目采购招标文件
“三色预警”河道水质保障服务采购项目招标文件
“甬有碧水”甬新河流域智慧治水人工采集服务项目招标文件
仓前街道2024-2026年余杭塘路以北道路综合养护项目招标文件
美术职业学校2024年物业管理服务项目招标文件
仁和第一幼儿园保安服务外包项目招标文件
人民医院电子内窥镜系统采购项目招标文件
公园区块道路综合养护项目招标文件
仁和第三幼儿园保安服务外包项目招标文件
中心幼儿园2024年物业(保洁及绿化养护)管理服务项目招标文件
工业垃圾打包车及叉车采购(重)招标文件
眼科医院信息化提升项目招标文件
瓶窑镇华兴社区未来社区创建服务采购项目招标文件
新城公园维护Ⅳ标段—2024年新接管公园绿地零星补种项目招标文件
公益中学安保服务项目招标文件
2024-01-03 50页
2024-01-03 57页
2023-12-29 56页
2023-12-19 80页
2023-12-19 371页
2023-12-15 43页
2023-12-15 14页
2023-12-15 30页
2023-12-15 28页
2023-12-15 16页