2009-08-04 150 views
8

致電boost::asio::ip::tcp::socketread_some/write_some成員函數和調用boost::asio::read/boost::asio::write免費函數有什麼區別?Boost :: Asio讀/寫操作

更具體地說:

使用一個比另一個有什麼好處?

爲什麼都包含在庫中?

回答

13

read_some和write_some可能會在一個字節傳輸完成後立即返回。因此,如果您想確保獲得所有數據,則需要循環 - 但這可能是您想要的。

自由函數是read_some和write_some的封裝函數,具有不同的終止條件,具體取決於過載。通常他們等待緩衝區被完全傳輸(或發生錯誤,或者在某些過載情況下發生明確的完成條件)

+0

但是爲什麼要同時包含? – 2009-08-04 16:34:32