[英]EOF in async_read() in boost::asio
當async_read_some()返回EOF異常時,它意味着服務器停止發送數據,或者是否意味着連接已關閉。 我有這種困惑,因為我無法找到一種方法來了解客戶端是否已從服務器接收到所有數據。
它表示連接已關閉。 雖然有文件證明它仍然適用:
boost::asio::error::eof
的錯誤代碼表示對等方已關閉連接。
如果客戶端需要知道已從服務器接收到所有數據,則考慮支持通信協議中的成幀。 Boost.Asio提供更高級別的操作,以幫助簡化這一過程。 例如, async_read_until()可用於協議,其中某些字符集用於指示消息的結束,而async_read()可用於固定長度協議或具有固定長度標頭的可變長度協議。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.