- 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系统开发实验报告
PAGE
PAGE 1
———————————————————————————————— 作者:
———————————————————————————————— 日期:
实验目的
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文件,因
您可能关注的文档
最近下载
- 求阴影面积的常用方法.pdf VIP
- 2024年广东省深圳市盐田区梅沙街道招聘社区工作者真题含答案详解.docx VIP
- 英、美、中三国会计师事务所组织形式演变研究.pdf VIP
- 工会经费管理与内部审计问题分析及改进建议.docx VIP
- 电气管理课件.pptx VIP
- 2025中国现代文学史自考真题及答案 .pdf VIP
- 2025努力锻造忠诚干净担当的新时代政法铁军党课PPT课件.pptx VIP
- 富士达电梯MLVF-T无机房(CP40)电气原理图.pdf VIP
- 国家建筑标准设计图集-12S101 矩形给水箱.pdf VIP
- Pico Pico Neo 3 VR头盔 Pico Neo 3 0207 用户手册.pdf
文档评论(0)