APP下载

通用高性能网络框架的研究与应用*

2021-08-06颜光伟陈勃翰

通信技术 2021年7期

颜光伟,刘 扬,陈勃翰

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引 言

随着网络技术的飞速发展和广泛应用,不管是面向企业用户还是个人消费者,网络功能都是应用软件不可或缺的基本功能。目前应用软件的网络功能开发具有过程复杂、周期漫长、通信协议不统一和复用程度低等缺点,改善并简化网络通信开发过程是当前应用软件研发的重要研究方向[1]。互联网上的开源网络库也比较多,比如Mudoo、Boost.Asio、ACE、LibEvent等。这些开源库都实现了网络通信功能封装,但是无法与应用业务实现按需关联,且必须二次开发才能进一步满足应用软件的具体业务需求。因此,研究一种通用的高性能网络框架对于简化应用软件的网络开发工作,提高软件开发成果的复用性具有重要作用。本文基于异步网络通信机制,提出一种通用的高性能网络框架实现方案,能够满足应用软件的网络通信和业务处理需求,使研发人员更加专注于业务层面的用户需求。

1 相关技术介绍

Boost是一个开源的跨平台C++程序库。它功能组件众多,很多组件已被收录进C++标准,所以也被称为C++“准”标准库[2]。Boost库提供了常用的网络通信、并发编程、日期与时间、字符串、正则表达式等模块,弥补了C++语言在许多方面的不足,极大增强了C++语言的活力和生命力。Asio是Boost库中非常出名的用于处理网络通信的轻量级类库,支持高并发输入/输出(Input/Output,I/O)处理和多种网络协议,内部集成了网络编程常用的操作接口,并支持同步和异步调用方式,相关接口以类的形式进行封装并对外提供调用[3]。……

登录APP查看全文