ps:适合有一点点基础的看,什么都不知道的不太看得懂
头文件
#include <boost/bind.hpp> // 绑定handler用
#include<boost/asio.hpp> // 必要,使用asio库
#include<boost/smart_ptr.hpp> // 自带的智能指针
常用类
boost::asio::ip::tcp::io_service ioService; // io服务 基本是必要的,博主理解不到位,以后或会跟新原因
boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(),5000) // 5000端口号,别写1024以内的就好,1024以内属于系统端口
boost::asio::ip::tcp::socket socket(ioService); // 构造时传入io_service
boost::asio::ip::tcp::acceptor acceptor(ioService,endpoint); // 接受器,可以理解为服务端使用,用于被别人连接
boost::system::error_code ec; // 用于检验是否出错,很多地方需要使用,handler参数一定有,同时也用来触发读写操作
常用函数
socket.connect(ep); // 同步连接
socket.async_connect(ep,handler) // 异步连接
acceptor.accept(socket) // 同步接收
acceptor.async_accept(socket,handler) // 异步接收
socket.write_some(buffer(""),ec); // 同步写
socket.read_some(buffer(char_buffer),ec); // 同步读
socket.async_write_some(buffer(""),handler); // 异步写
socket.asyncc_read_some(buffer(char_buffer),handler); // 异步读
来源:https://blog.csdn.net/qq_38271800/article/details/98725052