1
我使用boost::asio::ip::tcp::iostream
從TCP流中讀取二進制數據。我做這樣的:如何知道boost :: asio :: ip :: tcp :: iostream沒有可用的數據?
stream.read(reinterpret_cast<char*>(&packetSize), 4); // first 4 bytes is length
stream.read(buffer, packetSize);
我應該檢查stream.gcount()
和未來stream.gcount() == 0
時,這意味着,讀取數據沒有更多的可用(TCP會話結束)?
如果您已獲得所有您期望的數據或發生錯誤,則會話結束。 – 2013-05-06 13:32:59