我正在阅读openssl编程tutorial。SSL_read()是否需要处理SSL_ERROR_WANT_WRITE?
我不能让一个服务器应用程序在任何一个连接的操作上被阻塞,因此我将使用非阻塞套接字。
因为它似乎,SSL握手发生在ssl_accept和所以SSL_connect,
这可能被阻止,我将有ssl_accept调用之前设置插座非块。
教程doc说我需要在SSL_read上处理SSL_ERROR_WANT_WRITE(当然加上SSL_ERROR_WANT_READ),因为SSL重新注册可能随时发生。
和SSL_write上的SSL_ERROR_WANT_READ出于同样的原因。
从DOC,
我们得到一个WANT_WRITE如果我们试图 到重新握手,我们阻止对重新握手期间 写。
我们需要等待的插座上是 可写,但重新开始读 当它是
我在“再”握手的一部分困惑。
我不打算保存ssl状态并重用它(这称为会话恢复?) 第一次握手后,我将不必处理同一连接的握手。
我不知道我是否仍然需要担心SSL_read上的WANT_WRITE,反之亦然,我不会使用会话恢复。
谢谢