我正在使用底层BIO调用SSL_do_handshake作为阻塞,这意味着它会等到握手完成或发生错误。 有什么办法让我可以从其他线程取消这个等待的呼叫(等待SSL_do_handshake)。 我使用SSL_clear,SSL_shutdown,SSL_free方法,但线程仍在等待SSL_do_handshake函数调用。 请帮忙。
答案 0 :(得分:0)
这不是很好的方法,但应该有效:
使用close()
关闭底层TCP套接字。
使用套接字的任何阻塞IO都将失败,SSL_do_handshake()
将返回错误。
但是从其他线程关闭套接字时要小心,因为文件描述符号可以重用。