對於SSL
連接,可以通過接受呼叫接收的FD
做什麼?它可以重複使用嗎?SSL Socket free and shutdown
我想知道究竟想知道的是這樣的:
一旦我接受的連接,我得到的FD
。 我使用SSL_new
創建一個SSL句柄(SSL*
)。 使用SSL_set_fd
將FD
添加到此句柄。 我使用SSL_accept
來做握手。 現在,如果我在SSL*
上撥打SSL_shutdown
,FD
會關閉嗎? SSL_free呢?
如果上述問題的答案是否定的,那麼我可以使用FD
與另一個SSL*
?
要解釋,我想究竟是什麼,如果我們讀取使用手柄SSL*
從連接FD
一些數據,那麼我們免費或關機SSL*
,可我們看到使用新SSL*
從FD
剩餘的數據?
請閱讀我的最新編輯。對於這種用法,SSL_free是最適合的,還是應該嘗試關機? –
就像我說過的:SSL_free只釋放內存(實際上,它減少了SSL對象上的引用計數器,並在計數器變爲0時釋放內存)並且不對套接字本身執行任何操作。如果您想讀取套接字上的其餘數據,例如將套接字從SSL降級爲普通套接字,您必須使用SSL_shutdown向對等方發送關閉通知,以便關閉SSL會話。 –
我想要做的是將套接字傳遞給其他類,並從相同的連接讀取其餘的ssl數據。 –