boost.asio是乙個跨平台的網路及底層io的c++程式設計庫。
標頭檔案
#include
命名空間
using namespace boost::asio;
using boost::asio::ip::tcp;
asio庫能夠使用tcp、udp、icmp、串列埠來傳送/接收資料,本文件介紹tcp協議的同步讀寫操作。
所有使用asio的程式都至少需要乙個io_service 物件
boost::asio::io_service io_service;
服務端**為:
#include #include using namespace boost::asio;
int main()
; boost::system::error_code ec;
sock.read_some(buffer(buf), ec);
std::cout << "buf is: " << buf << std::endl;
memset(buf, 0, sizeof(buf)); // 將buf重置
sock.write_some(buffer("hello client"), ec);
if (ec)
}} }
catch (const std::exception& ex)
return 0;
}
客戶端**為:
#include #include #include using namespace boost::asio;
int main(int argc, char* ar**)
while (true)
;std::cout << "please input: ";
std::cin.getline(buf, 128);
std::cout << std::endl;
sock.write_some(buffer(buf), ec);
memset(buf, 0, 128); // 將buf重置
sock.read_some(buffer(buf), ec);
std::cout << "receive message is :" << buf << std::endl;
}} catch (const std::exception& ex)
}return 0;
}
演示如下:
**說明:
boost asio程式設計 同步TCP
boost.asio庫是乙個跨平台的網路及底層io的c 程式設計庫,它使用現代c 手法實現了統一的非同步呼叫模型。boost.asio庫支援tcp udp icmp通訊協議。下面介紹同步tcp模式 在伺服器端,我會做個socket交給acceptor物件,讓它一直等客戶端連進來,連上以後再通過這個s...
boost asio 的同步方式
boost.asio是乙個跨平台的網路及底層io的c 程式設計庫,它使用現代c 手法實現了統一的非同步呼叫模型。標頭檔案 include名空間 using namespace boost asio asio庫能夠使用tcp udp icmp 串列埠來傳送 接收資料,下面先介紹tcp協議 的讀寫操作 ...
boost asio中的C S同步例項原始碼
近來狂熱地研究boost的開發技術,現將讀書筆記整理如下 需要說明的是,本博該專題下面關於boost的原始碼是採用boost1.55版本,執行在ubuntu 14.04 64bit下面,使用apt包安裝 非原始碼編譯安裝 後續不再做說明.同步socket型別的伺服器原始碼實現 g g sync tc...