Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Openssl 为什么我会得到;错误:1409F07F:SSL例程:SSL3“写入”挂起:错误写入重试”;尝试SSL_写入时出错?_Openssl - Fatal编程技术网

Openssl 为什么我会得到;错误:1409F07F:SSL例程:SSL3“写入”挂起:错误写入重试”;尝试SSL_写入时出错?

Openssl 为什么我会得到;错误:1409F07F:SSL例程:SSL3“写入”挂起:错误写入重试”;尝试SSL_写入时出错?,openssl,Openssl,尝试SSL_写入时是否出现以下错误: 错误:1409F07F:SSL例程:SSL3\u写入\u挂起:错误写入重试 原因很简单:当SSL_Write返回SSL_ERROR_WANT_Write或SSL_ERROR_WANT_READ时,您必须在满足条件(套接字上的读/写可用)后,使用完全相同的参数再次重复对SSL_Write的调用 使用不同参数调用它将产生1409F07F错误写入重试错误 例如,当ptr=0xABCDEFGH,size=4096的SSL_write(SSL,ptr,size)失败,

尝试SSL_写入时是否出现以下错误:

错误:1409F07F:SSL例程:SSL3\u写入\u挂起:错误写入重试


原因很简单:当SSL_Write返回SSL_ERROR_WANT_Write或SSL_ERROR_WANT_READ时,您必须在满足条件(套接字上的读/写可用)后,使用完全相同的参数再次重复对SSL_Write的调用

使用不同参数调用它将产生1409F07F错误写入重试错误

例如,当ptr=0xABCDEFGH,size=4096的SSL_write(SSL,ptr,size)失败,出现SSL_ERROR_WANT_READ或SSL_ERROR_WANT_write时,重试SSL_write调用时,参数ptr和size应该相同。如果ptr是指向与原始调用中相同内容的副本的另一个指针,则这是不等价的

但是,可以通过设置SSL模式启用部分写入和/或SSL模式接受移动写入缓冲区来更改SSL写入的默认行为



感谢@ShriramV的澄清评论,并将其整合到答案中

嘿,你可以将你的问题与答案分开,这样,如果你认为答案正确,你就可以接受自己的答案。谢谢你的tipThanx,我按照你的建议做了,10倍!你能告诉我你的价格吗10x@dragonsupercool例如,如果第一次使用目标缓冲区X偏移量Y和大小Z进行SSL_写入,则必须使用所有参数的相同值重新调用,因为写入操作将尝试从停止的位置(或类似的位置,这就是我所知的结束位置;p)@Amit—这没有意义。你是说,如果你用500字节的数据调用SSL_write,它返回100字节(说它只发送了100字节),错误代码为SSL_error_WANT_READ,那么你必须用已经发送的100字节以及剩余的400字节重新调用它吗?在重试SSL_write时,参数应该完全相同——从字面上看。例如,当ptr=0xABCDEFGH,size=4096的SSL_写入(SSL,ptr,size)失败,出现SSL_错误_WANT_READ或SSL_ERROR_WANT_write时,重试SSL_write调用时,参数ptr和size应该相同。如果ptr是指向与原始调用中相同内容的副本的另一个指针,则这是不等价的。但是,可以通过设置SSL模式启用部分写入和/或SSL模式接受移动写入缓冲区来更改SSL写入的默认行为。@shiramv-Upvoted。你对这两个标志的评论应该是答案的一部分。