Hi,

we are writing a chat application that uses a continous stream of data
via a JspWriter to the browser.
To detect if a client closes the connection by killing her Browserwindow
we catch the IOexception thrown
if a JspWriter.flush() method fails due to a loss of connection. Now
this works perfectly fine when talking 
directly to Tomcat via its Http connector.
But when we use Apache & mod_jk as intermediary between Browser and
Tomcat a strange phenomenom happens:

mod_jk works fine and honours the flush method of the jspWriter by
sending the data directly, without buffering.

When the client closes the connection (by closing/killing Browser
window) the JspWriter method does not throw an 
IOException but sends the data unhindered to apache and mod_jk. Apache
meanwhile is unable to totally close the
TCP connection on its side to the client and stays forever in the CLOSE
state (seen via netstat) but still accepts all
the data send from Tomcat. We tried sending many kilobytes from Tomcat
but have not seen that any buffer ooff apache or
mod_jk would keep the data. It just goes nowhere!?

Has anbody seen something similar? Or in a more generic way "How does
mod_jk handle a closed connection from the Browserside
if Tomcat is still sending data and would do so potentially forever
(like in this Chat Situation/where all data is send over a continous
stream)?"
Could it be that mod_jk always waits till the end of data send from
Tomcat util it acknowledges the closed connection from the client?

Sorry if this problem is described somewhat confusingly, I hope someone
gets the general idea and would be willing to clarify
anything necessary to describe the problem.

Thanks,

Mario Oschwald

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to