毕业设计(论文)基于QT的UDP广播报文程序

上传人:无*** 文档编号:41881968 上传时间:2021-11-23 格式:DOC 页数:19 大小:301.53KB
返回 下载 相关 举报
毕业设计(论文)基于QT的UDP广播报文程序_第1页
第1页 / 共19页
毕业设计(论文)基于QT的UDP广播报文程序_第2页
第2页 / 共19页
毕业设计(论文)基于QT的UDP广播报文程序_第3页
第3页 / 共19页
点击查看更多>>
资源描述
郑州大学毕业设计(项目报告)题 目: 基于QT的UDP广播报文程序 指导教师: xx 职称: 讲师 学生姓名: 学号: xxxxxxxxx 专 业: 计算机科学与技术(网络工程) 院(系): 软件学院 完成时间: 2011-12-10 2011年 12 月 10日目录摘要31 前言41.1, 软件开发的意义和前景.51.2, 软件所要实现的功能和最终目标.52 软件开发的可行性研究52.1,技术方面的可行性62.2,,济方面的可行性62.3,开发方案的选择性和开发进程的研究.72.3.1,开发方案的选择72.3.2,开发进程的研究73 系统总体的描述83.1, 系统基本简介和概要.83.2,系统能够完成的功能概要.83.3,整个软件的特点.83.3.1,广播方面的特点83.3.2,单播方面的特点83.3.3,组播方面的特点83.3.4,系统的创新点83.4,设计的目的.94 总体设计和功能实现.94.1,功能模块的设计和功能94.1.1,功能模块图.104.1.2,广播模块.104.1.3,单播模块.114.1.4,组播模块.114.2,系统的流程124.2.1,广播消息接收和发送流程图.124.2.2,单播消息接收和发送流程图.144.2.3,组播消息接收和发送流程图.195 软件测试255.1,测试的环境和目的255.2,测试的模块255.2.1,广播模块的测试.255.2.2,单播模块的测试.275.2.3,组播模块的测试.285.4,整体软件的测试.295.5,测试的结论.306 总结31致谢32参考文献33 摘要 现在的计算机网络技术飞速发展,使用网络进程信息的传送以成为社会的一种基本的方式,也是未来社会的发展方向。在企业网中,公司要求的速度和时间更为重要,这就要求在信息传送中能够达到快速,安全的目的。同时能够保证信息能够发送给所有的公司员工,这就要求这种网络协议能够使用最少的资源,同时给所以的人员发送信息。该系统才用了基于UDP协议的三种消息的发送机制,广播,单播和组播。通过三种不同的消息发送机制,可以实现一对一,一对多的消息发送。同时组播也可以是实现对同一个组内发送消息,保证了消息的安全性和保密性。同时本论文采用了目前流行的图形界面设计的QT技术,在底层用基本的c语言实现,在上层用QT实现对界面的优化,保证软件的可操作性。最后文章也给出了对整个软件的测试和对各个模块的单独的测试。关键字:QT,UDP,广播,单播,组播 Absract Nowthe rapid developmentofcomputer network technology,the process oftransmission of informationusing theInternettobecomea basicway, but also thefuturedirection ofsocial development.In theenterprise network, the company requestedthe speedand timeis more important, which requirestransmissionof informationto achievefast andsecurity.At the same timetoensure that informationcan besentto allemployees, which requiresthatthe network protocolto useminimal resources,while givingitthe personsending the message. The system isbased onUDP protocolwithonlythreemessagedelivery mechanism, broadcast,unicastand multicast.Send a messagethroughthree differentmechanisms,onecan,one to manymessaging.Whilemulticastcan also beachievedfor the samegroupto send messagesto ensuremessagesecurity andconfidentiality.Whilethis paperuses apopulargraphical interfacedesignedQT technology,at the bottomwith abasicc language,in the upperinterfaceusingQTto achieveoptimized to ensurethe operability ofthe software.Finally,the articlealsogivesthe entiresoftwaretestingandtesteach moduleseparately. Keywords: QT, UDP,broadcast,unicast,multicast1 前言1.1 软件开发的意义和前景:UDP协议,即拥护数据报协议(Use Datagram Protocol).是一个简单的面向数据报的传输层协议.他不提供可靠性,即只把应用程序传给IP层的数据发送出去,但是并不能保证他们能到达目的.广播和多播是基于UDP协议的两种消息发送机制.广播数据即从一个工作站发出,局域网内的其他所有工作站都能收到它.IP协议下,多播是广播的一种变形,IP多播要求将对收发数据感兴趣的所有主机加入到一个特定的组.目前基于UDP协议的信息传送程序给我们的生活带来的很大的方便,对于企业来说提高企业的办事效率,提高企业的综合素质,是一个企业不断进步迈向一个新台阶的重要步骤。外了适应企业的快速发展,提高企业的管理水平,方便企业与内部员工的信息交流,节省办公开销,企业很需要这样一个程序。1.2 软件所要实现各功能和最终目标能够实现一对一,一对多的消息发送机制,同时也能满足对特定一个组内的成员进行消息的发送。充分利用网络实现消息的传送,提高企业的办事效率。2 软件开发的可行性研究2.1,技术方面的可行性本软件通过QT技术基于UDP协议实现广播(Broadcast),单播(Unicast),组播(Multicast)能够通过这些技术完成整个程序所要求的所有的功能。2.2, 济方面的可行性目前基于UDP和QT的技术的软件已经很多,但本软件通过个别细节的实现能够是软件在未来的市场上有发展前景。2.3,开发方案的选择性和开发进程的研究 2.3.1,开发方案的选择默认开始是以广播方式发送消息,用户可根据不同的选项选择消息发送类别,以模块化方式组织程序各个模块这件没有联系,在需要时可手动加入新的模块。遵循高内聚,低耦合的原则对程序进行设计。 2.3.2,开发进程的研究开始组织整个程序的基本框架包括广播,组播和单播模块,然后具体实现各个模块的细节问题,在实现过程中同时对模块经行测试,以保证在整体测试中能够近少减少错误。3 系统总体的描述3.1, 系统基本简介和概要UDP协议,即拥护数据报协议(Use Datagram Protocol).是一个简单的面向数据报的传输层协议.他不提供可靠性,即只把应用程序传给IP层的数据发送出去,但是并不能保证他们能到达目的.广播和多播是基于UDP协议的两种消息发送机制.广播数据即从一个工作站发出,局域网内的其他所有工作站都能收到它.IP协议下,多播是广播的一种变形,IP多播要求将对收发数据感兴趣的所有主机加入到一个特定的组.Qt是诺基亚开发的一个跨平台的C+图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。通过QT和UDP实现整个软件的功能,包括:广播,组播,单播3.2,系统能够完成的功能概要对广播,组播和单播的简单的实现,能通过程序发送不同类别的广播消息。3.3,整个软件的特点3.3.1,广播方面的特点广播是向子网中所有的计算机发送消息,没有目的性,这样就会增加了网络传播负担,而且消耗资源较高3.3.2,单播方面的特点在客户端与服务器端建立一个单独的数据通道,从一台服务器送出的每个数据包只能传送到特定的客户端,3.3.3,组播方面的特点 组播:也叫多路广播,是消息从一台计算机发送到制定的子网中,同时计算机也可以加入制定的组播中来接受消息,这减少了网络的传播负担,同时计算机也可以随时离开组播,不再接受消息。ip组播使用特殊的ip地址范围来表示不同的组播,组播的地址范围是:224.0.0.0到239.255.255.255的d类ip地址。组播有临时的,也有永久的,但大多数是临时的,只有在用户用到是才创建。使用组播是要注意ttl值,ttl值是允许路由器转发的最大路由器数目,默认是1,为只在本网段内转发消息。3.3.4,系统的创新点3.4,设计的目的实现通过广播,组播和单播发送消息。4 总体设计和功能实现4.1,功能模块的设计和功能4.1.1,功能模块图UDP服务器端模块UDP服务器端服务器端设计 单播消息发送模块 多播模块 广播模块 单播模块 推出程序模块广播消息发送模块多播消息发送模块UDP客户端模块UDP客户端 单播消息接受模块 多播模块 广播模块 单播模块广播消息接收模块多播消息接收模块4.1.2,广播模块在此模块包括,端口号设置,在服务器端设置一个没有用到的端口号,一般是大于4096端口号设置模块广播模块发送发送和退出模块端口号设置模块广播模块接收接受和退出模块4.1.3,单播模块 此模块包括端口号设置端口号设置模块单播模块发送发送和退出模块端口号设置模块单播模块接收接受和退出模块4.1.4,组播模块端口号设置模块此模块包括端口号设置和组播地址设置组播地址设置模块组播模块发送发送和退出模块端口号设置模块加入组播设置模块组播模块接收接受和退出模块4.2,系统的流程这个服务器端的系统流程图 开始初始化Winsock 初始化全局变量获取参数设置标记成功? 否 是成功? 否 是广播? 是 否 发送发送发送 发送单播消息发送广播消息发送多播消息 开始4.2.1,广播消息接收和发送流程图广播消息流程图如图11.3所示.程序首先创建UDP套接字,如果创建成功则设置广播地址;由于进行的是广播机制,所以要将套接字时针为广播类型,即SO-BROADCAST;如果套接字选想不开设置成功则可以避免向指定的广播地址广播消息了.广播结束后(即达到最多的消息条数),关闭套接字,释放占用资源.开始 创建UDP套接字 关闭套接字 释放占用资源还可以发送? 输出成功信息 输出错误信息发送成功? 发送消息 到广播地址设置成功? 设置套接字 为广播类型设置广播地址选项创建成功? 否 是 否 是 否 是 是 否 结束5 软件测试5.1,测试的环境和目的在linux平台下,编译器为gcc,通过QT技术,测试程序是否成功。5.2,测试的模块5.2.1,广播模块的测试这是广播服务器端的测试,设置端口号是8080,也是软件启动后的开始的默认选项,即广播地址是“INADDR-BROADCAST“,这是客户端的接受测试图片:端口号是值为8080,当服务器端的端口号与客户端的端口号不同时,客户端接收不到服务器端发来的消息。5.2.2,单播模块的测试:这是单播地址为172.16.0.10,同时设置发送端口号为8080,测试unicast测试成功。客户端测试图片:端口号和服务器端一样,这样才接收到服务器端发送来的消息,B/C端端口号不一样不能进行消息的发送。5.2.3,组播模块的测试:服务器端的设置组播地址设置为233.1.1.1,端口号设置为8080客户端的测试图片:开始把这台主机的ip地址加入到组播中(233.1.1.1),同时设置端口号8080,按钮Leave选项是使主机脱离组播。服务器端发送来的消息,客户端不能再次接收到。5.4,整体软件的测试在主窗体中测试能否打开,下一级床底,测试如图所示:这是对编辑项中Broadcast测试的选项下图是对编辑选项中Unicast的测试结果:5.5,测试的结论能够基本实现所要求的各个功能,但在实现工程中也存在一些问题,例如不能受到广播消息,传输超时等问题存在.6 总结 毕业设计是将我们四年里学到的专业知识付诸于实践,从而提升自己的实践能力。 通过这次实践,我对UDP网络协议有了更好的理,了解了广播,单播和组播区别和在企业中的应用,信息在网络中是怎样传输的。同时对QT技术有了更层次的理解和应用。总之通过这次实践,我基本熟悉了具体的设计步骤,锻炼了工程设计实践能力,培养了自己独立设计的能力。此次设计是我专业知识和专业基础知识一次实际检验和巩固。 项目中遇到的很多问题是设计之初没有预想到的,保质保量的完成项目任务就是每一个人的责任,通过这次项目的实施,我也感觉到了技术上的不足,时间的分配也存在一些问题,这都是我自身有待提高的方面。 致谢回想昨天我们还是一个初入校门的学生,一转瞬大学生涯即将结束,回首走过的岁月,心中感慨万千。从懵懂无知到如今成熟自信,我很庆幸我能够来到这所大学,她教会了我怎样做人,怎样做事。当我开始结束这篇论文时,想起刚来杰普培训时,到如今这几个月来的能力和付出,我为自己感到骄傲,因为没退缩,没放弃,为了自己的理想,自己的未来而奋斗!在规划和设计中遇到了这样和那样的问题,但通过自己和杰普老师的帮助,这些问题也待到了解决。同时由于对我来说QT是一门新的技术,还有自己的技术水平有限,程序可能存在很多的buge,敬请各位老师多多指点和更正。 在这里我要感谢卓伟老师,虽然我是在外地实训,可能在整个程序的实现过程中没能待到卓伟老师的指点,但卓伟老师对我个关注一点也没少!很关心我们的论文的进度等问题!参考文献【1】 UNIX环境高级编程(第二版)史蒂文斯、拉戈、尤晋元、 张亚英人民出版社(2006-05出版)【2】 UNIX网络编程(1):套接字联网API(第三版)史蒂文斯(W.RicharStevens)、芬纳(Bill Fenner)、 鲁道夫(Andrew M.Rudoff)人民邮电出版社(2010-07出版)【3】C+GUI Qt4编程(第2版)布兰切特 (Jasmin Blanchette)、萨默菲尔德 (Mark Summerfield)、闫锋欣、 曾泉人电子工业出版社(2008-08出版) 【4】C+Primer中文版(第4版)李普曼(Stanley B.Lippman)、等、李师贤、 蒋爱军人民邮电出版社(2008-07出版) 【5】精通Unix Shell脚本编程(第2版)米歇尔(Randal K. Michael)、 李德龙清华大学出版社(2010-03出版【6】Linux内核API完全参考手册邱铁、周玉、 邓莹莹机械工业出版社(2011-01出版)【7】UNIX网络编程(卷1):套接字联网API(第3版)史蒂文斯(W.Richard Stevens)、芬纳(Bill Fenner)、 鲁道夫(Andrew M.Rudoff)人民邮电出版社(2010-07出版)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!