[发明专利]一种基于TCP实现的数据通信方法有效
| 申请号: | 202010898591.4 | 申请日: | 2020-08-31 |
| 公开(公告)号: | CN111988334B | 公开(公告)日: | 2022-03-18 |
| 发明(设计)人: | 赵明芳;刘军;杨青;王瑞霞;赵世伟 | 申请(专利权)人: | 中国电子科技集团公司第四十一研究所 |
| 主分类号: | H04L69/16 | 分类号: | H04L69/16;H04L67/141;H04L69/163;H04L67/146 |
| 代理公司: | 北京天奇智新知识产权代理有限公司 11340 | 代理人: | 陈岚崴 |
| 地址: | 266000 山*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 tcp 实现 数据通信 方法 | ||
1.一种基于TCP实现的数据通信方法,其特征在于,具体包括以下步骤:
步骤1:创建包含的项目与公共接口文件;
步骤2:主框架中实现TCP通信功能模块;主框架实现TCP通信功能模块包括两个部分:通信链路的建立以及数据传输;通信链路的建立采用QT信号—槽的方式,将通信过程中的标识信号分别与处理子模块建立映射关系;数据传输过程中由产生的传输信号自动触发调用对应的传输处理子模块,并通过公共接口文件中的两个接口SetData()与GetData()由主框架集中处理,传递框架与业务,不同业务间,不同角色间的数据交互数据;
步骤3:生成应用程序可执行文件与插件动态链接库;在IDE集成开发环境中编译生成应用程序可执行文件与插件DLL,插件输出目录中存储生成的各业务功能插件动态链接库文件,运行查看结果,操作主界面,切换业务功能模式,实施测量;
步骤4:组建中心与节点监测网,测试远程通信功能;建立服务器、客户端与监测节点组成的监测网物理连接,通过服务端派发任务,客户端返回结果数据的测试用例,验证服务端与客户端连接正确性、数据传输可靠性及传输速率;
具体地,所述步骤1中的具体步骤包括:
步骤101:在IDE集成开发环境中创建主框架项目,用于实现主框架包含的功能;
步骤102:创建各业务功能插件项目,按照大功能单元包含具体业务功能的方式按层次、分类管理实现监测角色的业务功能,每个功能单元包含多个监测业务功能,最终提供的结果形式是通过IDE编译、链接、运行,生成各插件项目的功能插件动态链接库;
步骤103:创建主框架与各业务功能插件的公共接口文件,其中包含公共接口函数,用于实现主框架与业务插件的数据交互。
2.如权利要求1所述的基于TCP实现的数据通信方法,其特征在于,除远程数据通信功能集中在主框架中实现,还需实现包括:主界面公共部分显示、管理业务插件及其它第三方动态库,包括:加载、调用、切换,最终提供的结果形式是通过IDE编译、链接、运行,生成该项目的应用程序可执行文件。
3.如权利要求2所述的基于TCP实现的数据通信方法,其特征在于,所述步骤103具体实现步骤:
步骤1031:主项目中创建公共接口文件:主项目添加头文件,命名“FrmInterface.h”;
步骤1032:定义公共接口类:包含应用程序与各功能插件两者通信的纯虚函数集合;
步骤1033:注册接口:公共接口文件中使用Q_DECLARE_INTERFACE()宏在Qt的元对象系统中注册该接口。
4.如权利要求3所述的基于TCP实现的数据通信方法,其特征在于,所述步骤2中需依次实现以下步骤:
步骤201:TCP通信功能初始化:
步骤2011:读取初始化配置文件,建立中心服务端、客户端信息列表,配置角色参数;
步骤2012:依据角色初始化服务端与客户端的TCP功能:建立服务端与客户端的通信链路,实现包含子模块连接或断开、接收数据、错误处理;服务端打开监听;
步骤202:服务端与客户端数据传输,采用基于通用数据帧格式:帧头+帧数据体的扩展方式,分别定义任务、设备、传输与记录的数据帧格式;在传输帧格式中加入校验位保证数据传输的正确性,同时根据实际业务场景,采用数据同步请求、应答方式满足快速的数据交互以及异步传输方式满足大数据量、长时的数据传输;
步骤2021:通过公共接口函数,实现主框架与业务功能插件之间的数据交互,其中包括:主框架调用:框架获取待发送到服务端或客户端的本地业务数据;以及主框架调用:框架获取来自服务端或客户端的远程数据,设置本地状态;
步骤2022:服务端派发任务或命令,数据流动作如下:
中心服务端派发任务或命令;框架调用GetData(),获取任务帧;发送到对应客户端节点;客户端接收通信链路readyRead()信号;客户端读取服务端发送的数据,解析处理;框架调用SetData(),设置客户端节点界面参数、启动新的测量,或者响应命令;
步骤2023:客户端返回结果数据或响应,数据流动作如下:客户端接收服务端发送的数据,解析处理;若返回,向服务端返回结果数据或响应;框架调用GetData(),获取结果数据帧;服务端接收通信链路ClientReadData()信号;服务端读取客户端返回的结果数据帧或响应,解析处理;框架调用SetData(),服务端显示刷新结果;
步骤203:连接或断开连接:
步骤2031:连接:建立服务端与客户端通信链路,记录通信链路节点IP、端口等信息;
步骤2032:断开:断开服务端与客户端通信链路,复位通信链路节点信息参数;
步骤204:错误处理:客户端与服务端连接失败,提示并处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第四十一研究所,未经中国电子科技集团公司第四十一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010898591.4/1.html,转载请声明来源钻瓜专利网。





