我正在閱讀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,反之亦然,我不會使用會話恢復。
謝謝