[发明专利]一种基于C++11的网络通信方法及系统在审
| 申请号: | 202010031003.7 | 申请日: | 2020-01-13 |
| 公开(公告)号: | CN111258779A | 公开(公告)日: | 2020-06-09 |
| 发明(设计)人: | 苗功勋;李原科;王金国;吴明;孙强 | 申请(专利权)人: | 中孚安全技术有限公司;中孚信息股份有限公司;北京中孚泰和科技发展股份有限公司;南京中孚信息技术有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54 |
| 代理公司: | 北京久维律师事务所 11582 | 代理人: | 邢江峰 |
| 地址: | 250101 山东省济南市济南市高*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 c++ 11 网络 通信 方法 系统 | ||
本发明提供了一种基于C++11的网络通信方法及系统,本发明利用C++11新特性架构设计进程间通信,通过在CPU中设置循环执行的主线程,调用add_listen_port与add_listen_unix功能接口来监听事件,并预先添加事件的处理函数,当事件发生后,系统将用户注册的处理函数添加到线程池中,从而实现异步处理事件业务。本发明对外提供统一接口,用户只需要注册自己的工作函数即可,极大减轻了用户的二次开发工作量。本发明代码为轻量级,不占用系统过大资源;接口简单,用户只需关心接口并且注册所关心的功能即可;同时支持本地通信和网络通信。
技术领域
本发明涉及网络通信技术领域,特别是涉及一种基于C++11的网络通信方法及系统。
背景技术
随着网络通信在软件中的地位越来越重要,设计开发一种简便的进程间通信框架技术越来越重要。进程间通信在国产Linux操作系统上常见的有Unix Domain Socket和Inet socket,它们以流的方式进行数据传输。现在主要方式有架构在很多开源网络通信项目之上封装,缺点是很多通信库量级过重,不支持面向对象方式。
发明内容
本发明的目的是提供一种基于C++11的网络通信方法及系统,旨在解决现有技术中进程间通信不支持面向对象且量级过重,实现轻量化,不占用大量资源,减轻用户的二次开发工作量。
为达到上述技术目的,本发明提供了一种基于C++11的网络通信方法,所述方法包括以下步骤:
S1、提前注册业务处理函数,针对所需处理的端口或本地通信文件路径添加事件的处理函数;
S2、在不同子线程中设置主函数循环执行,调用监听功能接口监听对端事件;
S3、当对端事件发生时,调用事件的处理函数添加到线程池中,每个线程实现异步处理事件业务。
优选地,所述监听对端事件通过调用add_listen_port与add_listen_unix功能接口来完成。
优选地,所述注册业务处理函数通过调用add_task_function功能接口来完成。
本发明还提供了一种基于C++11的网络通信系统,所述系统包括:
处理函数注册模块,用于提前注册业务处理函数,针对所需处理的端口或本地通信文件路径添加事件的处理函数;
主函数执行模块,用于在不同子线程中设置主函数循环执行,调用监听功能接口监听对端事件;
事件处理模块,用于当对端事件发生时,调用事件的处理函数添加到线程池中,每个线程实现异步处理事件业务。
优选地,所述监听对端事件通过调用add_listen_port与add_listen_unix功能接口来完成。
优选地,所述注册业务处理函数通过调用add_task_function功能接口来完成。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
与现有技术相比,本发明利用C++11新特性架构设计进程间通信,通过在CPU中设置循环执行的主线程,调用add_listen_port与add_listen_unix功能接口来监听事件,并预先添加事件的处理函数,当事件发生后,系统将用户注册的处理函数添加到线程池中,从而实现异步处理事件业务。本发明对外提供统一接口,用户只需要注册自己的工作函数即可,极大减轻了用户的二次开发工作量。本发明代码为轻量级,不占用系统过大资源;接口简单,用户只需关心接口并且注册所关心的功能即可;同时支持本地通信和网络通信。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中孚安全技术有限公司;中孚信息股份有限公司;北京中孚泰和科技发展股份有限公司;南京中孚信息技术有限公司,未经中孚安全技术有限公司;中孚信息股份有限公司;北京中孚泰和科技发展股份有限公司;南京中孚信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010031003.7/2.html,转载请声明来源钻瓜专利网。





