版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 实验目的1. 编辑一个画图的功能,例如画圆以及画圆柱体等。2. 实现两种通信,一种是tcp通信,一种是udp通信。二实验内容 实现一个画图的功能,主要就是点击画图按钮,他就会自动的进行画图,像画的是圆的话就让圆不停地显示,如果画的是圆柱体的话,就让圆柱体不停的进行比较显示。做两个通信,一个是tcp通信,一个是udp通信;这两个通信都要实现最基本的通信,也就是客户机发送信息,服务器要能够接受到,并且显示出来。三. 实验过程及结果(一)画图功能1.首先直接在操作ui界面,在界面里面添加相关组件,如下:图1 ui界面 图2 ui界面图3 ui界面 2.打开mainwindow.h文件,在里面定义
2、一些槽函数以及一些变量,主要定义的是画图函数,以及停止函数。图4 定义槽函数3. 在这个基础上,具体实现每个槽函数,画圆为了让他不停的显示,需要启动定时器,画圆主要实现的就是一个在标签上贴图的功能。 而画柱体也是一样,如果要使用填充颜色,那么就要添加一个brush这个工具。如果要使边框有颜色,就需要添加一个pen工具。图5 实现槽函数图6 实现槽函数在mainwindows中添加涉及到的头文件。图7 添加头文件4.做好槽函数与按钮之间的响应,画图按钮跟定时器开关进行连接,注意的是,定时器跟画图函数响应。 图8 添加连接函数5.运行一下结果。图9 定时器启动 图10 持续画图图11 停掉画圆图1
3、2 两个都停掉(二)tcp通信1.先定义槽函数以及一些变量,主要定义的是发送信息和发送文件,连接函数,监听函数等。图13 定义槽函数2.然后再具体实现槽函数。下面定义了一个接受监听函数acceptlisten(),主要是服务器一直在监听有没有客户机发出连接请求。而监听函数mylisten(),主要是服务器在监听客户机,最后一个sedm()函数,主要就是定时器,将文本框中的内容转为整型数据发送。 图14 实现槽函数下面定义了一个myquit()函数,主要就是将定时器关闭,socket停止通信,服务器关闭。而trandata()函数实现的是数据信息的发送;myconnect()函数实现的是客户机和
4、服务器的连接。图15 实现槽函数在下面的函数中,myrecvm()函数实现的是服务器接受信息的功能。图16 添加头文件把上面函数中所涉及到的类添加到头文件中图17 添加头文件3.做响应连接,主要把定时器跟接受数据函数连接,而发送数据按钮则是跟定时器开关相连接,主要一按下定时器就开启,那么服务器就会自动的接受数据了并显示出来。图18 添加连接响应4.修改一下.PRO文件,因为这个实现涉及到网络,所以需要在其中添加network。因为源代码有opencv类,但这个小类库没有装,所以需要后面另行装上,然后再将类库包进来,添加在最后面。图19 添加类库5.结果显示图20 显示选项框图21 显示选项框实
5、现发送数据功能图22 发送数据实现接受数据功能图23 接受数据按下stop,就停止接收数据了图24 停止接受数据按下quit,关掉服务器图25 关闭服务器按掉close,就是把输出的内容全部清掉图26 清除内容图27 关闭连接(三)udp通信1.首先先定义槽函数还有几个变量,主要定义的是发送点对点、发送多播、发送广播,然后还有定时器以及相应的接受函数。图28 定义槽函数2.然后具体实现槽函数。实现点对点的传播,主要先创建一个socket进行通信,然后将发送狂的内容变为整形数据,然后将定时器开启,那么其他的发送方式的原理也是这样的。图29 实现槽函数图30 实现槽函数下面的btnclear()函
6、数,主要就是将通信socket关闭,然后将输出框的内容清除。图31 实现槽函数接受信息函数,实现的是一个文本信息附加的功能。图32 实现槽函数将上面涉及到的类添加到头文件。图33 添加头文件3.做好响应连接。主要将每个按钮与它们的对应函数相关联好。图34 做好连接4.修改.PRO文件,因为源代码有opencv类库,之前软件没有装这个类库,所以需要装上之后,在文件的后面添加上相应的类库。图35 添加类库5.运行结果图36 运行界面图37 运行界面实现发送广播和接受广播功能图38 发送广播图39 接受广播按stop之后,就会暂停输出,然后输入界面变为空图40 输入变为空图41 输出暂停按clear
7、,输出界面就会清空图42 清空界面实现发送点对点、接受点对点功能图43 发送点对点图44 接受点对点实现发送多播、接收多播功能图45 实现发送多播图46 实现接受多播四.实验小结1. 在实现画图功能时,例如画圆,为了让他不停的显示,需要启动定时器,画圆主要实现的就是一个在标签上贴图的功能。 而画柱体也是一样,如果要使用填充颜色,那么就要添加一个brush这个工具。如果要使边框有颜色,就需要添加一个pen工具。2. 做好槽函数与按钮之间的响应,画图按钮跟定时器开关进行连接,注意的是,定时器跟画图函数响应。3. 实现tcp通信,先定义槽函数以及一些变量,主要定义的是发送信息和发送文件,连接函数,监
8、听函数等。4. 然后再具体实现槽函数。例如,acceptlisten()函数主要是服务器一直在监听有没有客户机发出连接请求,而监听函数mylisten()主要是服务器在监听客户机,sedm()函数主要就是启动定时器并将文本框中的内容转为整型数据发送,而myquit()函数主要就是将定时器关闭、socket停止通信以及服务器关闭等等。5. 做响应连接,主要把定时器跟接受数据函数连接,而发送数据按钮则是跟定时器开关相连接,主要一按下定时器就开启,那么服务器就会自动的接受数据了并显示出来。6. 修改一下.PRO文件,因为这个实现涉及到网络,所以需要在其中添加network。因为源代码有opencv类,但这个小类库没有装,所以需要后面另行装上,然后再将类库包进来,添加在最后面。7. 实现udp通信,首先先定义槽函数还有几个变量,主要定义的是发送点对点、发送多播、发送广播,然后还有定时器以及相应的接受函数。然后具体实现槽函数。实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年因病致贫重病患者救助政策竞赛题库
- 2026年电子商务物流配送体系研究题库
- 2026年水资源保护与节水科普题库
- 2026年医保缴费基数申报题库
- 2026年村社农产品电商增收致富案例知识题库
- 2026年教育法下的教育公平问题研究
- 医疗卫生行业政策法规含测试题2026
- 2026年征兵心理测评进取心与成就动机题
- 2025年湘乡市社区工作者招聘考试真题及答案
- 2026年福建压力容器操作工考试工艺参数控制与日常巡检要点
- 试卷保密工作流程
- 在线交流新气象课件+2024-2025学年人教版(2024)初中信息科技七年级全一册
- 药剂科绩效工资分配方案
- 2025高考化学专项复习:60个高中化学常考实验
- 护理正高答辩常见问题
- 金属冶炼安全培训课件
- 工地试验室试验检测月报
- 体验技术设计的一般过程(手机支架的设计与制作)课件高中通用技术粤科版必修技术与设计
- 竞争情报理论与务实
- 大理双廊镇旅游产业可持续发展战略,mba旅游管理论文
- 广东某220kv升压站迁移改造工程220kV GIS系统调试方案
评论
0/150
提交评论