boost asio中的C S同步例項原始碼

2021-06-22 09:23:09 字數 1255 閱讀 2669

近來狂熱地研究boost的開發技術,現將讀書筆記整理如下:

需要說明的是, 本博該專題下面關於boost的原始碼是採用boost1.55版本, 執行在ubuntu 14.04 64bit下面, 使用apt包安裝(非原始碼編譯安裝), 後續不再做說明.

同步socket型別的伺服器原始碼實現:

//g++ -g sync_tcp_server.cpp -o sync_tcp_server -lboost_system

//#include #include #include using namespace std;

using namespace boost::asio;

int main()

}catch(std::exception& e)

}

同步socket型別的客戶端原始碼實現:

//g++ -g sync_tcp_client.cpp -o sync_tcp_client -lboost_system -lboost_date_time

//#include #include #include #include #include using namespace boost::asio;

void client(io_service &ios) catch (std::exception &e)

}class a_timer

void call_func(const boost::system::error_code&)

++count;

f();

t.expires_at(t.expires_at() + boost::posix_time::millisec(500));

t.async_wait(boost::bind(&a_timer::call_func, this, boost::asio::placeholders::error));

}};int main()

執行細節:

注意所有的原始碼均在ubuntu 14.04 64bit上執行測試, 比參考文獻[1]中更詳細更具體.

參考文獻:

[1].羅劍鋒, boost程式庫完全開發指南---深入c++"準"標準庫

boost asio 的同步方式

boost.asio是乙個跨平台的網路及底層io的c 程式設計庫,它使用現代c 手法實現了統一的非同步呼叫模型。標頭檔案 include名空間 using namespace boost asio asio庫能夠使用tcp udp icmp 串列埠來傳送 接收資料,下面先介紹tcp協議 的讀寫操作 ...

boost asio的Tcp同步方式

boost.asio是乙個跨平台的網路及底層io的c 程式設計庫。標頭檔案 include命名空間 using namespace boost asio using boost asio ip tcp asio庫能夠使用tcp udp icmp 串列埠來傳送 接收資料,本文件介紹tcp協議的同步讀寫...

boost asio程式設計 同步TCP

boost.asio庫是乙個跨平台的網路及底層io的c 程式設計庫,它使用現代c 手法實現了統一的非同步呼叫模型。boost.asio庫支援tcp udp icmp通訊協議。下面介紹同步tcp模式 在伺服器端,我會做個socket交給acceptor物件,讓它一直等客戶端連進來,連上以後再通過這個s...