2013-02-23 71 views
3

我以異步和同步的方式使用boost::asio。一個線程在我的應用程序async_accept中有一個套接字,另一個線程同步從該套接字讀取/寫入。C++ boost:asio將套接字轉換爲流?

AFAIK boost::asio::ip::tcp::iostream可以通過直接連接到端點來創建對象。我正在尋找一種從套接字obj中獲取流對象的方法,所以我可以使我的通信庫是通用的。有沒有辦法從套接字obj獲取該對象?

+3

是否有任何理由,你必須顯式地保持套接字,而不是像這裏的例子那樣使用iostream:http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/example /iostreams/daytime_server.cpp?該示例使用同步接受,但async_accept將允許相同的行爲。 – diverscuba23 2013-02-23 08:57:55

回答

1

避免內部混合同步與異步。從外部仿效其中一個使用其他的。由於asio是異步使用它異步並通過等待異步操作來模擬同步完成。