1.Boost.Asio是一个跨平台、主要用于网络和其他一些底层输入/输出编程的C++库
2.Boost asio中服务端的socket使用共享指针的方式,因为socket有移动构造函数,没有拷贝构造函数
3.在普通的网络编程中,服务端存在两个文件描述符,一个是server,一个为当前端对端的client
服务端:
客户端:
在Asio网络编程中,存在一个socket,即端对端的客户端的socket
服务端:
- 创建一个Io_Context实例 io_context
- 指定向监听的端口endpoint
- 创建一个接收器acceptor
- io_context结束事件循环
客户端:
1.创建一个IO_Context实例 io_context
2.设置地址和端口号
3.连接connect
4.io_context结束事件循环