Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我用底层 BIO 调用 SSL_do_handshake 作为阻塞,这意味着它将等到握手完成或发生错误。有什么办法可以让我从其他线程取消这个等待调用(等待 SSL_do_handshake)。我使用了 SSL_clear、SSL_shutdown、SSL_free 方法,但线程仍在等待 SSL_do_handshake 函数调用。请帮忙。
这不是好方法,但它应该可以工作:
使用 关闭底层 TCP 套接字close()。
close()
任何与套接字的阻塞 IO 都会失败,并SSL_do_handshake()返回错误。
SSL_do_handshake()
但是从其他线程关闭套接字时要小心,因为文件描述符编号可以重复使用。