c++之Boost学习笔记总结(2)--asio

本文介绍了Boost.Asio库在网络和低层IO编程中的应用,重点讲解了io服务和io对象的概念。io_service是异步编程的核心,负责与操作系统IO服务的交互,而io对象如socket、定时器等在其上进行异步操作。通过io_service.run()启动服务,进行网络通信。同时,文章提到了基于Boost.Asio实现的C/S模型的基本结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解析Boost.Asio

Boost.Asio是用于网络和低层IO编程的跨平台C++库,为开发者提供了C++环境下稳定的异步模型. 涉及到两个重要的概念:io服务和io对象,理解掌握好这两个东西,便走上光明大道。

想用通俗易懂的方式理解io服务,看了那么多,还是下面的概念模型图最好:
在这里插入图片描述

io服务
从第一个boost.asio的教程开始,boost文档就一直在告诉我们:使用boost.asio第一步就是要创建一个io_service对象。那么io_service是个什么东西呢?

   就是用来初始化io对象,提供和底层系统进行io的一个东西;

boost::asio::io_service io_serv;
甭管它底层是干嘛的,盘他!!所有网络异步编程中,先给他创建一个io_service,待会的socket就用io_serv初始化,io对象的异步操作比如socket.async_connect()、socket.async_read等操作,都在io服务启动后实现,所以io_serv.run()这个函数很重要,它是启动io服务的。

io对象

socket相信你应该不陌生,它就是一种io对象,除此之外还有定时器,域名解析器等对象。
如上面的模型图所示,应用程序必须有一个io_servic

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值