gpt4 book ai didi

c++ - 带阻塞套接字的 SSL_accept

转载 作者:可可西里 更新时间:2023-11-01 02:49:55 25 4
gpt4 key购买 nike

我制作了一个带有 SSL 和阻塞套接字的服务器。当我连接 telnet 时(因此它不进行握手),SSL_accept 会无限期地阻塞并阻塞每个新的握手/接受(以及根据定义的新连接)。

我该如何解决这个糟糕的问题?

最佳答案

为什么不在调用SSL_accept()之前将套接字流设置为非阻塞模式呢? ,然后阻止类似 select() 的内容如果 SSL_accept() 返回 SSL_ERROR_WANT_READ 或 SSL_ERROR_WANT_WRITE 超时?或者,您可以在调用 SSL_accept() 之前阻止 select()。要么应该工作。这样你至少可以限制连接因 DoS 而被阻塞的时间。喜欢行为/攻击。

请记住,SSL/TLS 是面向记录的,这意味着您必须循环直到读取完整记录。 SSL_pending()在这种情况下可以提供帮助。

关于c++ - 带阻塞套接字的 SSL_accept,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1744523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com