2015年本科基于QT的UDP网络广播程序设计和实现毕业论文.doc
《2015年本科基于QT的UDP网络广播程序设计和实现毕业论文.doc》由会员分享,可在线阅读,更多相关《2015年本科基于QT的UDP网络广播程序设计和实现毕业论文.doc(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、武汉理工大学基于QT的UDP网络广播程序摘 要 现在随着计算机网络技术的不断发展,人类正进入信息化社会,使用网络进程信息的传送以成为社会的一种基本的方式,也是未来社会的发展方向。在企业网中,公司要求的速度和时间更为重要,这就要求在信息传送中能够达到快速,安全的目的。同时能够保证信息能够发送给所有的公司员工,这就要求这种网络协议能够使用最少的资源,同时给所有人员发送信息。UDP是一项非常实用可行的网络传输层协议,现在广泛应用于各行各业,并将在今后发挥更大的作用。本文详细阐述了Qt开发环境下广播的实现方法。该系统采用用了基于UDP协议的实现网络广播。同时本论文采用了目前流行的图形界面设计QT技术,
2、在底层用基本的C/ C+语言实现,在上层用QT实现对界面的优化,及美化。最终实现UDP广播,程序运行起来可向多个用户发送UDP报文,并能够在界面上显示报文,用户与发送报文的可以相互通信。 关键字:广播;QT;UDP武汉理工大学武汉理工大学UDP broadcast networkprogram based on QTAbstractNow the rapid development of computer network technology, man is entering theinformation society,the use ofnetworkinformation transmi
3、ssion process to become a basicmodeof society,but also the future development direction of the society.In the enterprise network, companies requirespeed and timeis more important,it requires to achieve fast in the information transmission,the purpose of safety. At the same timeto ensure that informa
4、tion can be sent to all the employees of the company, which equires the network protocol can usethe least resources,at the same timeto allstaff to send a message.UDP is avery practicalnetworktransport layer protocol is feasible,is now widely used inall walks of life,and willin the future play a grea
5、ter role.This paper describes in detail the implementation method of the development environment of Qtbroadcast.The systemadopted by thenetworkbroadcastbased on UDP protocol.At the same time,this paperuses agraphical interface designpopular QT technologies,usingbasic C/C+ language in the bottom,to r
6、ealize the optimization of theinterfacewith the QTon the upper layer,and landscaping.The final realization of UDP broadcasting,programs runup to multiple users send UDP message,and can display the message on the screen,can communicate with users and sendingmessage.Keywords: broadcast;QT;UDP武汉理工大学武汉理
7、工大学目 录摘 要iAbstractii1. 绪论11.1 研究背景11.2 系统的可行性分析11.2.1 技术方面的可行性11.2.2 经济方面的可行性21.3 展望21.4 研究目标32. 相关技术理论42.1 UDP协议42.2 UDP报文42.3 套结字52.4 套接字地址:主机与端口72.5 端口号72.6 报头的校验值82.7 信号和槽机制83. 系统总体的描述103.1 系统基本简介和概要103.2 系统能够完成的功能概要103.3 软件的特点103.3.1 单播的特点103.3.2 广播的特点103.3.3 系统创新点114. 系统分析与总体设计124.1 系统需求分析124.
8、2 系统开发及运行环境124.3 系统主要功能要求124.4 系统总体设计134.5 各个模块的设计和功能154.5.1 单播模块154.5.2 广播模块164.6 系统的流程165. 网络广播程序的详细设计205.1 界面设计205.2 模块功能设计216. 软件测试326.1测试的目的及重要性326.2测试的方法326.3测试用例33结论39参考文献40致谢41外文原文42中文翻译48武汉理工大学1. 绪论1.1 研究背景 近来随着计算机的快速发展,科学技术突飞猛进的发展,知识经济的初见端倪,目前基于UDP协议的信息传送程序给我们的生活带来的很大的方便,现在,企业、机关、学校都建立起了自己
9、的局域网,在局域网里,我们可以通过它,实现在局域网里方便的联络,进行文件传输,消息的发布,自己共享内容的简介等。 在学校里,UDP广播可以起到方便同学之间,教师之间,师生之间的相互联络,这样,不用上Internet,可以节省资源,在学校这个大环境里,就可以方便学校与同学之间,教师与同学之间的联络,学生可以通过它随时收听学校及导员发布的信息。并能最大度地利用现有的网络资源,极大地提高工作效率。为了适应校园网的建设,实现校园网内进行消息发布,学生交流,师生交流,网上作业等功能。 在公司企业建立起的局域网里,应用于局域网内企业(组织)内部成员之间的交流领域,在没有因特网的支持下也可以进行即时通讯,亦
10、因此使之更安全、更高效;同时因为它界面简洁实用,没有娱乐功能,所以简单易用,是企业(组织)成员更加专注于工作,减少不必要的财力和人力资源浪费。,对于企业来说提高企业的办事效率,提高企业的综合素质,是一个企业不断进步迈向一个新台阶的重要步骤。外了适应企业的快速发展,提高企业的管理水平,方便企业与内部员工的信息交流,节省办公开销,企业很需要这样一个程序。为了在给定的主机上能识别多个目的地址,同时允许多个应用程序在同一台主机上工作并能独立地进行数据报的发送和接收,设计用户数据报协议UDP。UDP是Use Datagram Protocol的简称,中文名用户数据报协议,是一种非连接式的通信协议,不需要
11、建立有效的通讯连接,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务. UDP在IP报文的协议号是17 ,UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的广播和多播是基于UDP协议的两种消息发送机制.广播数据即从一个工作站发出,局域网内的其他所有工作站都能收到它1.2 系统的可行性分析1.2.1 技术方面的可行性本软件通过QT技术基于UDP协议实现广播(Broadcast),单播(Unicast),(1)UDP协议UDP是
12、一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。UDP是一个无连接协议,传输数据之前源端和终端建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。由于传输数据不
13、建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。(2)QT技术QT是Trolltech公司的标志性产品,是跨平台的C+图形用户界面(GUI)工具包,QT应用程序接口与工具兼容于所有支持平台,让开发员们掌握一个应用程序接口,便可执行与平台非相关的应用开发与配置。它对不同平台的专门API进行专门的封装(文件处理,网络等),QT API对所有支持平台都是一致的,从而可以进行独立于平台的程序开发和配置。Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好
14、,对于用户开发来说是非常方便的。(3)C+编程技术C+是一种面向对象的通用型程序设计语言,他是一种更好的C,支持抽象的数据,支持通用性程序设计,具有更好的可移植性。(4)TCP/IP协议技术在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。而另一方面,UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组
15、从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。1.2.2 经济方面的可行性目前基于UDP和QT的技术的软件已经很多,但本软件强化了对单播、广播、组播的理解,能够根据他们的特性,在不同的应用场合选择使用不同的功能,并且在一些细节方面做出改进,改善图形化界面的可视效果,以及增删button,便于用户操作,在市场上仍有广阔的发展空间。1.3 展望UDP是TCP/IP协议族为传输层设计的两个协议之一,它在进程与进程的通信过程中,提供了有限的差错校验功能,是一种无连接的,不可靠的协议。UDP在一个较低的水平上完成进程之间的通信,在收到分组的时候没有流量控
16、制机制也没有确认机制,适用于可靠性比较高的局域网。由于UDP采取了无连接的方式,因此协议简单,在一些特定的应用中协议运行效率高。UDP适合一些实时的应用,如IP电话,视频会议,它们要求源主机以恒定的速率发送数据,并且在网络出现拥塞时,可以丢失一些数据,但是延迟不能太大。基于这些特点,流式多媒体通信、多播等应用在传输层采用的就是UDP协议。广播系统具有实用性、经济性、便捷性等特点,广泛应用于各种公共场合。在楼宇智能消防系统中,它实现了报警控制中心向各分控点的语音广播。在灾时疏散人员、调配现场工作人员,它都发挥着不可替代的作用,消防广播是系统中的关键组成部分之一,已经成为其中不可缺少的组成部分。在
17、网络会议中,服务器端负责进行用户管理、信息交互以及表决统计;客户端则实现收听发言,公开发言,私下讨论、投票表决等功能。在学校的考试系统中,老师通过服务端通过广播的形式负责试题的发送,学生在客服端接收试题,并且对试题的异常可以提出申请,老师收到申请后,以单播的形式处理异常,保证每个考生顺利完成考试。因为UDP具有TCP所望尘莫及的速度优势。虽然TCP协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受到严重的影响。反观UDP由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成。目前基于UDP协议的信息传送程序给我们的生活带来的很大的方便,对于企业来
18、说提高企业的办事效率,提高企业的综合素质,是一个企业不断进步迈向一个新台阶的重要步骤。外了适应企业的快速发展,提高企业的管理水平,方便企业与内部员工的信息交流,节省办公开销,企业很需要这样一个程序。而且,如果这样的程序还是跨平台的程序的话,那将会给我们的开发节省了大量的时间。QT正是一个支持多平台的C+图形用户界面应用程序框架。它提供给应用程序开发者建立图形用户界面所需的所用功能。Qt是完全面向对象的很容易扩展,并且允许真正地组件编程。所以使用QT作为应用程序框架是一个不错的选择。1.4 研究目标现在科技越来越发达,手机上的软件,电脑上的软件越来越多,所以开发小的程序也越来越有必要。QT具备跨
19、平台,易扩展,性能稳定等优点。因此,以嵌入式处理器作为硬件平台,以QT作为程序框架,两者的完美结合必将成为未来技术的发展方向。基于上述背景,开发一个UDP网络广播项目,使用linux搭配qt来构建这个项目。利用QT4作为系统应用层的程序框架。开发一个可以运行的网络广播程序。这个程序虽然是在linux下开发的,但是它是可移植的,在windows下也可以运行。 2. 相关技术理论2.1 UDP协议UDP协议的全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的
20、缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式彩已经被一些类似协议所掩盖,但是即使是在今天UDP仍然不失为一项非常实用和可行的络传输层协议。与所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。UDP协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。UDP
21、是OSI参考模型中一种无连接的传输层协议,它主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序由应用层完成1,提供面向事务的简单不可靠信息传送服务。UDP 协议基本上是IP协议与上层协议的接口。UDP协议适用端口分别运行在同一台设备上的多个应用程序。2.2 UDP报文UDP报头由4个域组成,其中每个域各占用2个字节,具体如图2-1 UDP每个UDP报文分UDP报头和UDP数据区两部分。报头由四个16位长(2字节)字段组成,分别说明该报文的源端口、目的端口、报文长度以及校验值。图2-1 UDP 报文分层封装:在TCP/IP协议层次模型中,UDP位于IP层之上。应用程序访问UDP层然后使
22、用IP层传送数据报。IP层的报头指明了源主机和目的主机地址,而UDP层的报头指明了主机上的源端口和目的端口。分解操作:UDP的复用、分解与端口UDP软件应用程序之间的复用与分解都要通过端口机制来实现。每个应用程序在发送数据报之前必须与操作系统协商以获得协议端口和相应的端口号。UDP分解操作:从IP层接收了数据报之后,根据UDP的目的端口号进行分解操作。UDP协议使用端口号为不同的应用保留其各自的数据传输通道。UDP和TCP协议正是采用这一机制实现对同一时刻内多项应用同时发送和接收数据的支持。数据发送一方(可以是客户端或服务器端)将UDP数据包通过源端口发送出去,而数据接收一方则通过目标端口接收
23、数据。有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为UDP报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。一般来说,大于49151的端口号都代表动态端口。数据报的长度是指包括报头和数据部分在内的总字节数。因为报头的长度是固定的,所以该域主要被用来计算可变长度的数据部分(又称为数据负载)。数据报的最大长度根据操作环境的不同而各异。从理论上说,包含报头在内的数据报的最大长度为65535字节。不过,一些实际应用往往会限制数据报的大小,有时会降低到8192字节。2.3 套结字应用层通过传输层进行数据通信时,TCP和UDP会遇到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2015 本科 基于 QT UDP 网络 广播 程序设计 实现 毕业论文
限制150内