:부스트 ASIO 및 SSL 및 오류 코드이 코드를 고려
const std::size_t rawBufferSize = 1024;
char rawBuffer[rawBufferSize] = { 0 };
boost::asio::ssl::stream<boost::asio::ip::tcp::socket>* sslStream;
... // initializing stuff
boost::system::error_code ec;
auto buffer = boost::asio::buffer(rawBuffer, rawBufferSize);
for(; ;)
{
int readBytes = sslStream->read_some(buffer, ec); // I know that read_some return std::size_t (unsigned int)...
// here, readBytes equals -1
if (ec)
break;
... (1)
}
어떻게이 "의 readBytes는"동일 -1 라인이 "(1)"에 도달 할 가능성이있다.
내가 뭘 잘못하고 있는지 실마리가 있습니까? 귀하의 경우에는
readBytes = -1 일 때 error_code 변수에 무엇이 있습니까? –
@TonyTheLion "(1)"행에 도달하면 "ec 변수"가 0이라고 가정합니다. – Charstar
read_some은 0을 반환합니다 (오류 : http://www.boost.org/doc/libs/1_48_0/doc/html/boost_asio/reference/ssl__stream/read_some/overload2.html). -1이 아닙니다. 문제를 나타내는 [짧은, 자기 포함, 올바른 예] (http://sscce.org/)를 게시 할 수 있습니까? –