1

我用底层 BIO 调用 SSL_do_handshake 作为阻塞,这意味着它将等到握手完成或发生错误。有什么办法可以让我从其他线程取消这个等待调用(等待 SSL_do_handshake)。我使用了 SSL_clear、SSL_shutdown、SSL_free 方法,但线程仍在等待 SSL_do_handshake 函数调用。请帮忙。

4

1 回答 1

0

这不是好方法,但它应该可以工作:

使用 关闭底层 TCP 套接字close()

任何与套接字的阻塞 IO 都会失败,并SSL_do_handshake()返回错误。

但是从其他线程关闭套接字时要小心,因为文件描述符编号可以重复使用。

于 2014-02-21T08:39:15.047 回答