当伙伴使用线程关闭连接时,阻止SSL_read()会导致崩溃

时间:2014-11-15 14:00:09

标签: multithreading sockets ssl openssl

我正在编写一个使用OpenSSL进行连接的程序。除了一个选项外,使用阻塞套接字和线程一切正常:

我的线程1调用SSL_read()并等待它接收任何内容 - 但如果伙伴关闭连接,则SSL_read()会导致崩溃。

有没有办法继续使用阻塞和线程,还是必须使用SSL_pending和非阻塞套接字? (我刚刚听说它不知道如何使用它,所以我想问一下,我是否必须以这种方式实现它,首先......)

提前致谢,
-fodinabor

1 个答案:

答案 0 :(得分:0)

目前还不清楚你在做什么。与线程一起阻止SSL_read本身并不是问题。也许您应该阅读OpenSSL FAQ中有关线程的相关部分。特别是以下部分可能与您相关:

  

...... SSL连接可能不会被多个线程同时使用