我剛剛創建了一個非常簡單的C++類,它提供了一些方法,如connect()
和read()
,而不是公開所有Boost.Asio套接字調用。使用Boost.Asio只讀字節數量
現在,我試圖找出如何創建僅讀取所需的字節數量的方法:
SocketClient::read(int bytes, char* data); //reads desired amount of bytes and puts them in data, size of data>bytes!
不幸的是,我發現在Boost.Asio的無read_byte
功能。我不想丟棄已收到但尚未讀取的字節。
從文檔,這不是明顯的數據我不看會發生什麼。我**需要**來讀取字節數。確切的數字。不多。不低於。如果少了,功能會被阻止。 **當有更多需要時會發生什麼?** – 2013-03-14 18:24:36
爲什麼你不能只用你自己的內部緩衝機制?閱讀可用的內容,如果$ bytes字節數可用,則返回那麼多字節,否則請閱讀更多內容。 – EHuhtala 2013-03-14 18:54:07