请考虑下面这段代码,它显示了从ssl连接读取buff_size
字节的尝试。SSL_read解密错误代码
int bytes = SSL_read(m_ssl, buf, buff_size);
int err = SSL_get_error(m_ssl, bytes);
int err2 = ERR_get_error();
有一些情况下,所述可变err
表示在上面的代码有效的错误,而err2
充当如果有完全没有误差(= 0)。例如,以下是我在测试中遇到的情况:当SSL_read
尝试读取0个字节(buffer_size = bytes = 0)时,err
将显示SSL_ERROR_SYSCALL。但是err2
仍然是0,表示没有真正的错误。 SSL_read返回这个值只是为了表明0字节被写入buf。
是否还有这种特殊情况,其中err
指出可能有错误,但读取结果没有读取错误?
嗨,我读过这个男人页面,但我仍然不知道也许你可以到强调提供一个短代码或伪代码的错误处理,SSL_read? – Zohar81