【发布时间】:2019-11-21 07:09:06
【问题描述】:
我正在阅读 An Introduction to OpenSSL Programming ,这是 图 6 中的代码
while(1){
r=SSL_read(ssl,buf,BUFSIZZ);
switch(SSL_get_error(ssl,r)){
case SSL_ERROR_NONE:
len=r;
break;
case SSL_ERROR_ZERO_RETURN:
goto shutdown;
case SSL_ERROR_SYSCALL:
fprintf(stderr,
"SSL Error: Premature close0");
goto done;
default:
berr_exit("SSL read problem");
}
fwrite(buf,1,len,stdout);
}
在下面,在 错误处理 部分,它说:
错误处理
如果返回值是负数,那么一些 发生了某种错误。我们担心两种错误 与:普通错误和“过早关闭”。我们使用
SSL_get_error()调用以确定我们遇到了哪种错误。错误 在我们的客户端处理是非常原始的,所以大多数错误我们 只需调用berr_exit()即可打印错误消息并退出。 为时过早 关闭必须特别处理。
什么是过早关闭? (我没有找到任何与SO相关的东西)为什么这里说需要特殊处理?
【问题讨论】: