I'm using boost::asio::ip::tcp::iostream
to read binary data from TCP stream. I do this like that:
stream.read(reinterpret_cast<char*>(&packetSize), 4); // first 4 bytes is length
stream.read(buffer, packetSize);
Should I just check stream.gcount()
and when next stream.gcount() == 0
that means that no data more available for reading (TCP session is finished)?