Boost.asio 常用函数用法 (自用)

回眸只為那壹抹淺笑 提交于 2019-11-25 19:29:31


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); // 异步读
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!