Wrap it in a BufferedOutputStream
----- Original Message -----
From: "Daniel" <[EMAIL PROTECTED]>
To: "Tomcat Users List" <users@tomcat.apache.org>
Sent: Thursday, October 27, 2005 5:03 PM
Subject: outputstream.flush() hangs at 32K
I have a servlet on TC 5.5.9 that services a page with applet content that
will reguire three GETs to complete the page 1) basic page, 2) applet jar
and 3)image. The basic page GETs served OK and the browser comes back with
a GET to request the JAR file which is modestly large (150K) so I attempt
to chunk the output (8K chunks). I read the file into a
ByteArrayOutputStream to get the real byte count as usual, then setup the
headers before starting the write, then loop on [write a chunk, flush
chunk], but the flush hangs at the 32K mark every time (actually, the next
flush after the previous 32k mark was hit). I've set the response buffer
size to be larger than the byte array but it still does not help. I know
sometimes output sockets need to be flushed, so I added a response.reset()
as the first step, but does not help either. Looks as though the browser
(IE) can't handle the large chunked stream or the response.flush() is not
being translated to output to the browser. I would have thought setting
the content type to application/x-java-archive would be suffient to tell
the browser how to handle it, but who knows. Any ideas or experiences?
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]