我試圖創建一個客戶端/服務器程序,但我發現一些困難繼續與不幸的稀疏量的OpenSSL文檔繼續。SSL_accept()拋出「無效參數」錯誤
我的問題: SSL_accept
拋出一個「無效參數」在執行以下代碼(簡化):
SSL* ssl = SSL_new(ctx); // ctx is created earlier
SSL_set_fd(ssl, socket); // socket is created earlier as well
BIO * bio = BIO_new(BIO_s_accept());
BIO_set_fd(bio, socket, BIO_NOCLOSE);
SSL_set_bio(ssl, bio, bio);
SSL_accept(ssl);
我檢查錯誤,每個方法調用後,與沒有插座,也不是生物變壞。沒有跡象表明,直到我嘗試調用SSL_accept時纔會發生任何奇怪的事情。我假設SSL對象是沿途某處損壞,但我沒有一個線索〜
編輯的SSL對象和BIO對象是如何在調用SSL_accept點不空()。
在正確的方向的任何指針將不勝感激:d
優秀。問題是用BIO_s_accept()創建一個新的生物插座。我會做更多的挖掘,爲什麼,但是一旦我製作了一個標準的BIO插座,接受似乎就像一個魅力。 – 2010-09-03 22:45:16