非阻塞WebSocket客户端:SSL_Read()返回SSL_ERROR_ZERO_RETURN但ERR_get_error()为0
非阻塞WebSocket客户端OpenSSL TLS层问题求助
我正在开发一款非阻塞WebSocket客户端,采用OpenSSL作为TLS加密层。目前已经完成了这些核心流程:
- 成功连接远程服务器
- 完成TLS握手
- 发送WebSocket Upgrade请求
- 接收服务器返回的升级确认响应
- 在TLS层因
SSL_ERROR_ZERO_RETURN断开连接前,还收到了实际的WebSocket业务响应
但现在遇到了一个诡异的问题:当调用SSL_get_error(...)时,返回值是6 // SSL_ERROR_ZERO_RETURN,可紧接着调用ERR_error_string(ERR_get_error(), nullptr)得到的却是error:00000000:lib(0):func(0):reason(0)。
我记得ERR_get_error()应该能获取到具体的错误栈信息才对,现在这种空错误信息的情况实在摸不着头脑,有没有大佬能帮忙分析下这是怎么回事?
内容的提问来源于stack exchange,提问作者ajoseps
相关产品推荐
相关产品推荐

