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