2016-07-29 92 views
0

我寫它採用的boost :: ASIO,並通過其與的boost :: ASIO整合的libssl服務器應用程序。當有傳入連接,第一次握手成功,但連接斷開與客戶端嘗試重新連接後,握手失敗,出現錯誤:SSL握手錯誤:會話ID上下文未初始化

session id context uninitialized

Here提出的解決方案使用SSL_OP_NO_TICKET選項,當SSL上下文被初始化時。我用下面的方法:

m_sslContext.set_options(SSL_OP_NO_TICKET); 

在開始時,這解決了問題,但現在儘管選項仍然設置錯誤再次出現。有沒有人有一個想法可以解決這個問題呢?

+1

當你沒有提供更多的特異性時,很難回答這樣的問題。請至少發佈一些相關的代碼片段。 – vordhosbn

+0

@bobeff - 相關,這聽起來像是Boost中的一個bug。我不記得在OpenSSL中遇到過它。也許你應該用Boost提交錯誤報告,以便他們修復它。考慮到早期報告可以追溯到2013年,我猜測Boost沒有意識到存在問題。 – jww

回答

0

我發現,當問題出現時,我仍然有一箇舊的連接到同一個遠程端點,它試圖再次連接。當我正確放棄舊連接時,問題消失了。