我试图创建一个客户端/服务器程序,但我发现一些困难继续与不幸的稀疏量的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