boost库中的网络库asio简介(C++asio网络库相关)

BOOST C++第三方库:
库大且复杂
标准库的备选库
绝大多数的库的水准很高(同僚复审)
主题丰富
string and text processing Containers iterators algorithms…

boost里面的网络库asio:
是用于网络和低层IO编程的跨平台C++库,为开发者提供了C++环境下稳定的异步模型
可移植性Portability
可扩展性
效率
可以像BSD Sockets一样通过API函数建立模型概念
易于使用Ease of use
基于更多的抽象Basis for further abstraction

asio有两种编程方式:同步和异步
同步简单效率高,异步最主要的使用方式
io_service调用底层API
io_service有两个作用:跟操作底层打交道,跟IO对象打交道
socket接口调用比如send之类的通知到io_service,io_service再调用底层API
同步编程的图解:
处理错误有两种方式:错误码和抛出异常
在这里插入图片描述

异步编程的图解:
操作系统没法直接调用回调函数通过在适当时机调用io_service的某些接口,如run或post来处理积攒事件
是分为两大块的
在这里插入图片描述

发布了137 篇原创文章 · 获赞 33 · 访问量 1582

猜你喜欢

转载自blog.csdn.net/qq_39885372/article/details/104046551