I can imagine two possible situation where the data fed to fwrite()
via putChunk() is not sent out to the client, as you said in the
The data fed to fwrite() is put to FILE buffer, and the buffer is
flushed by fflush() or fclose() to be sent out by write() or send().
As you wrote, doing fflush() right after fwrite() solved the situation.
This implies that the problem is caused because, fflush() for body
is done but too late, or it is not done.
First one is that the FILE buffer is flushed, but the data was not
sent out by write() because the connection is shutdown already.
Second possibility is that the FILE is closed without being flushed.
If the first one is the case, the result will depend on the timing
If inserting another DeleGate between HTTP-DeleGate and IE, without
changing any behavior like about Keep-Alive in original HTTP-DeleGate,
but relaying header and body in a same packet, solves the problem (or
not), it will give us a hint. Could you test the following using
the original DeleGate/7.9.9 ?
delegated -PXXXX SERVER=http ... (your original HTTP-DeleGate)
delegated -PYYYY SERVER=tcprelay://XXXX FTOCL=-tee-n-l
If no difference appear between port XXXX or YYYY, used as HTTP-proxy
port for the client (IE), my guess about "timing of fflush" will
@ @ Yutaka Sato <email@example.com> http://www.delegate.org/y.sato/
( - ) National Institute of Advanced Industrial Science and Technology (AIST)
_< >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan