Thanks, guys- this does indeed seem to be the cause of the problem. I am going to fix my application to send all the data at once.

Best,

David

On Jul 27, 2007, at 5:53 PM, David Schwartz wrote:


First off have you tried to merge the application data for the
SSL_write() calls into larger writes ?  That is don't write the
"HTTP/1.1 200 Ok" on its own, but concatenate the headers/content- body
into the same SSL_write() call so the total size for the call is at
least 1500 bytes but maybe in the realm of 4K (or at much application
data as you have).

Darryl

I think that's exactly the problem. You cannot hand data to a TCP connection
in little dribs and drabs. You must accumulate data into a single send
unless one of these three things are the case:

1) You already have enough. 2KB is about the minimum to be considered
enough. 4KB is better.

2) You suspect it will be at least 200mS until more data will be ready.

3) You know that a reply to what you have already sent is required from the
other side.

In this case, when you send the first response line, none of these three things are the case. It is not more than 2KB. More data will be available almost immediately. This header does not get a reply from the other side. So you cannot pass it to SSL_write but must accumulate it with later data. But
you don't. So you stall the stack.

DS


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to