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


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); // 异步读
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章