分类
善良比聪明更重要
Boost string_algo:split() 字符串切分 Boost string_algo:split() 字符串切分
使用 boost::split() 之前,需要先引用头文件 <boost/algorithm/string.hpp>。 boost::split() 函数用于切割 string 字符串,将切割之后的字符串放到一个 std::ve
2022-03-08
Boost property_tree:配置与数据解析 Boost property_tree:配置与数据解析
既然 Boost 提供了 property_tree 这样好的工具来给 C++ 解析 XML 和 JSON,必须要留有一定的篇幅来讲它。 原先项目中使用到了 JSON,需要用 C++ 解析一段返回值,JSON 格式如下: { "
2022-03-01
Boost.Asio 多线程模型 Boost.Asio 多线程模型
Boost.Asio 有两种支持多线程的方式,第一种方式比较简单:在多线程的场景下,每个线程都持有一个 io_service,并且每个线程都调用各自的 io_service 的 run() 方法(io_service 的运行机制可以看本站的
2022-02-22
Boost.Asio:同步 vs 异步 Boost.Asio:同步 vs 异步
同步VS异步Boost.Asio的作者做了一个很惊艳的工作:它可以让你在同步和异步中自由选择,从而更好地适应你的应用。 在之前的章节中,我们已经学习了各种类型应用的框架,比如同步客户端,同步服务端,异步客户端,异步服务端。它们中的每一个都可
2022-02-15
Boost.Asio:客户端和服务端 Boost.Asio:客户端和服务端
客户端和服务端在这一章节,我们会深入学习怎样使用 Boost.Asio 建立非凡的客户端和服务端应用。你可以运行并测试它们,而且在理解之后,你可以把它们作为框架来构造自己的应用。本章会大量用到上一章的工具函数,如果对 read_comple
2022-02-08
深入理解 Boost.Asio 的 io_service 深入理解 Boost.Asio 的 io_service
IO模型io_service 对象是 asio 框架中的调度器,所有异步 IO 事件都是通过它来分发处理的(io 对象的构造函数中都需要传入一个 io_service 对象)。如果对 Boost.Asio 的整体框架还不熟悉,可以先看本站的
2022-02-01
Boost.Asio 基本原理 Boost.Asio 基本原理
Boost.Asio 基本原理这一章涵盖了使用 Boost.Asio 时必须知道的一些事情。我们也将深入研究比同步编程更复杂、更有乐趣的异步编程。 网络 API这一部分包含了当使用 Boost.Asio 编写网络应用程序时必须知道的事情。
2022-01-25
Boost.Asio 入门 Boost.Asio 入门
本章先回答两个问题:什么是 Boost.Asio?怎么编译它?在了解的过程中我们会给出一些例子,你也会在发现 Boost.Asio 不仅仅是一个网络库的同时,接触到它最核心的类——io_service。 什么是Boost.Asio简单来说,
2022-01-18
Boost.Asio C++ 网络编程:实战精要 Boost.Asio C++ 网络编程:实战精要
本文是《Boost.Asio C++ Network Programming》中文翻译的导览篇,整理了原书的前言与全书目录:读完就能知道这本书讲了什么、阅读前需要准备什么。本站同系列的《Boost.Asio 概览》《Boost.Asio 入
2022-01-11
Boost.Asio 概览:跨平台网络库与 Proactor 模式 Boost.Asio 概览:跨平台网络库与 Proactor 模式
Boost.Asio 是什么Boost.Asio 是一个跨平台的 C++ 网络库,支持 socket、定时器、SSL 等 I/O 对象。理解它之前,需要先弄清两个词:Reactor 和 Proactor——它们是两类 I/O 事件处理模型,
2022-01-04
Boost 系列导读:Boost.Asio 从入门到多线程 Boost 系列导读:Boost.Asio 从入门到多线程
这个系列围绕 Boost.Asio 展开:先用一篇概览建立设计思想,再沿着「入门 → 基本原理 → 核心类 → 实战 → 对比 → 多线程」的主线逐步深入,最后附带两篇 Boost 工具库的番外。全系列 10 篇,按发文时间顺序读即是推荐阅
2021-12-28