- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Tcp和Udp通信Linux系统开发实验报告
实验目的1. 编辑一个画图的功能,例如画圆以及画圆柱体等。2.实现两种通信,一种是tcp通信,一种是udp通信。二.实验内容 实现一个画图的功能,主要就是点击画图按钮,他就会自动的进行画图,像画的是圆的话就让圆不停地显示,如果画的是圆柱体的话,就让圆柱体不停的进行比较显示。做两个通信,一个是tcp通信,一个是udp通信;这两个通信都要实现最基本的通信,也就是客户机发送信息,服务器要能够接受到,并且显示出来。三. 实验过程及结果(一)画图功能1.首先直接在操作ui界面,在界面里面添加相关组件,如下:图1 ui界面 图2 ui界面图3 ui界面 2.打开mainwindow.h文件,在里面定义一些槽函数以及一些变量,主要定义的是画图函数,以及停止函数。图4 定义槽函数3. 在这个基础上,具体实现每个槽函数,画圆为了让他不停的显示,需要启动定时器,画圆主要实现的就是一个在标签上贴图的功能。而画柱体也是一样,如果要使用填充颜色,那么就要添加一个brush这个工具。如果要使边框有颜色,就需要添加一个pen工具。图5 实现槽函数图6 实现槽函数在mainwindows中添加涉及到的头文件。图7 添加头文件4.做好槽函数与按钮之间的响应,画图按钮跟定时器开关进行连接,注意的是,定时器跟画图函数响应。 图8 添加连接函数5.运行一下结果。图9 定时器启动 图10 持续画图图11 停掉画圆图12 两个都停掉(二)tcp通信1.先定义槽函数以及一些变量,主要定义的是发送信息和发送文件,连接函数,监听函数等。图13 定义槽函数2.然后再具体实现槽函数。下面定义了一个接受监听函数acceptlisten(),主要是服务器一直在监听有没有客户机发出连接请求。而监听函数mylisten(),主要是服务器在监听客户机,最后一个sedm()函数,主要就是定时器,将文本框中的内容转为整型数据发送。 图14 实现槽函数下面定义了一个myquit()函数,主要就是将定时器关闭,socket停止通信,服务器关闭。而trandata()函数实现的是数据信息的发送;myconnect()函数实现的是客户机和服务器的连接。图15 实现槽函数在下面的函数中,myrecvm()函数实现的是服务器接受信息的功能。图16 添加头文件把上面函数中所涉及到的类添加到头文件中图17 添加头文件3.做响应连接,主要把定时器跟接受数据函数连接,而发送数据按钮则是跟定时器开关相连接,主要一按下定时器就开启,那么服务器就会自动的接受数据了并显示出来。图18 添加连接响应4.修改一下.PRO文件,因为这个实现涉及到网络,所以需要在其中添加network。因为源代码有opencv类,但这个小类库没有装,所以需要后面另行装上,然后再将类库包进来,添加在最后面。图19 添加类库5.结果显示图20 显示选项框图21 显示选项框实现发送数据功能图22 发送数据实现接受数据功能图23 接受数据按下stop,就停止接收数据了图24 停止接受数据按下quit,关掉服务器图25 关闭服务器按掉close,就是把输出的内容全部清掉图26 清除内容图27 关闭连接(三)udp通信1.首先先定义槽函数还有几个变量,主要定义的是发送点对点、发送多播、发送广播,然后还有定时器以及相应的接受函数。图28 定义槽函数2.然后具体实现槽函数。实现点对点的传播,主要先创建一个socket进行通信,然后将发送狂的内容变为整形数据,然后将定时器开启,那么其他的发送方式的原理也是这样的。图29 实现槽函数图30 实现槽函数下面的btnclear()函数,主要就是将通信socket关闭,然后将输出框的内容清除。图31 实现槽函数接受信息函数,实现的是一个文本信息附加的功能。图32 实现槽函数将上面涉及到的类添加到头文件。图33 添加头文件3.做好响应连接。主要将每个按钮与它们的对应函数相关联好。图34 做好连接4.修改.PRO文件,因为源代码有opencv类库,之前软件没有装这个类库,所以需要装上之后,在文件的后面添加上相应的类库。图35 添加类库5.运行结果图36 运行界面图37 运行界面实现发送广播和接受广播功能图38 发送广播图39 接受广播按stop之后,就会暂停输出,然后输入界面变为空图40 输入变为空图41 输出暂停按clear,输出界面就会清空图42 清空界面实现发送点对点、接受点对点功能图43 发送点对点图44 接受点对点实现发送多播、接收多播功能图45 实现发送多播图46 实现接受多播四.实验小结1. 在实现画图功能时,例如画圆,为了让他不停的显示,需要启动定时器,画圆主要实现的就是一个在标签上贴图
您可能关注的文档
最近下载
- 《时速160公里动力集中动车组构造与检修》 课件全套 1 绪论 ---16 电务车载.pptx
- 05 U1-U8语法精练 (含答案)2024-2025学年五年级英语上册期末专项复习(译林三起).docx
- 问题解决型QC报告.doc VIP
- 汽车线束介绍培训课件.pptx VIP
- 百度:智能体AI交互重构品牌营销.pptx VIP
- 2025至2030中国浸渍树脂市场发展规模与投资策略分析报告.docx VIP
- 百度_百度AI营销中级认证 _ 百度搜索百看怎么看?-2025.pdf VIP
- 中学生心理案例分析报告.docx VIP
- 精神科护理模拟考试题与答案.docx VIP
- 【轻质减负】第26课《诗词五首》情境化教学课件.pptx VIP
原创力文档


文档评论(0)