boost asio的Tcp同步方式

2021-10-24 22:17:43 字數 1464 閱讀 8167

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...