boost::asio::ip::tcp::iostream
TCPストリームからバイナリデータを読み取るために使用しています。私はこれをそのようにします:
stream.read(reinterpret_cast<char*>(&packetSize), 4); // first 4 bytes is length
stream.read(buffer, packetSize);
確認する必要がありますか?stream.gcount()
次stream.gcount() == 0
は、読み取りに使用できるデータがないことを意味します(TCPセッションが終了しました)?