c - SSL_do_handshake() 卡住了

标签 c linux ssl

在我的代码中,我调用了 SSL_do_handshake() 函数。 如果服务器收到“正确”的消息,一切都会正常进行。 但是,出于安全问题,我尝试发送一条虚拟消息。只是向正确的端口和正确的 IP 地址“问好”。 在这种情况下,SSL_do_handshake() 会永远卡住。 我希望函数在那种情况下返回,这样我的服务器就不会卡住。

有哪些选项?

我读到有关将 bio 设置为非阻塞的信息。 我添加到我的代码中: BIO_set_nbio(bio, 1);在建立连接之前.. 但它没有做这些工作...

我能做什么?

最佳答案

BIO_set_nbio 只设置标志,bio 应该被认为是非阻塞的。您实际上必须使套接字本身成为非阻塞的。

关于c - SSL_do_handshake() 卡住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23404811/

相关文章:

linux - 从 repo 创建文件的 zip 文件以用于还原目的

iphone - 保护 WCF REST 服务以用于 iPhone 应用程序

c - swift (Linux) : Extract CMS/PKCS#7 Certs and Validate Container Signature?

c++ - 比较从 C 中的套接字接收的字符串数据

c - C语言读取二进制文件

ssl - 为什么 tomcat 在加载自签名 SSL 证书时遇到问题?

ssl - 如何配置 PlayFramework2 以支持 SSL?

c - 给定一个数 A(=2^N),如何得到 N?

c - 如何在不重新编译Linux内核的情况下实现自己的系统调用?

c - 将整数类型转换为 void*