【发布时间】:2010-06-08 12:25:49
【问题描述】:
我在尝试 SSL_write 时是否收到以下错误:
错误:1409F07F:SSL 例程:SSL3_WRITE_PENDING:错误的写入重试
【问题讨论】:
-
嘿,你可以把你的问题和你的答案分开,这样如果你认为它是正确的,你可以接受你自己的答案。感谢您的提示
-
感谢您的想法,我按照您的建议做了,10 倍!
标签: openssl
我在尝试 SSL_write 时是否收到以下错误:
错误:1409F07F:SSL 例程:SSL3_WRITE_PENDING:错误的写入重试
【问题讨论】:
标签: openssl
原因很简单:当 SSL_Write 返回 SSL_ERROR_WANT_WRITE 或 SSL_ERROR_WANT_READ 时,您必须在满足条件后再次使用完全相同的参数重复调用 SSL_write(在套接字上可以读/写)。
使用不同的参数调用它,会产生 1409F07F bad write retry 错误。
例如,当 ptr = 0xABCDEFGH, size = 4096 的 SSL_write(ssl, ptr, size) 失败并出现 SSL_ERROR_WANT_READ 或 SSL_ERROR_WANT_WRITE 时,重试 SSL_write 调用时,参数 ptr 和 size 应该相同。如果 ptr 是另一个指向与原始调用中相同内容的副本的指针,则它不等效。
但是,可以通过设置 SSL_MODE_ENABLE_PARTIAL_WRITE 和/或 SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 来更改 SSL_write 的默认行为。
感谢@ShriramV 澄清cmets,并集成到答案中
【讨论】: