Hi,

I have implemented a service using Http11Protocol and I have disabled the socketBuffer for the object by setting its value to "-1". When the client disconnects before the server responds, then on windows I see the exception:

SEVERE: Error processing request
java.net.SocketException: Unrecognized Windows Sockets error: 0: socket write er
ror
       at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:125)
       at java.net.SocketOutputStream.write(SocketOutputStream.java:171)
       at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffe
r.doWrite(InternalOutputBuffer.java:243)
       at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(Identit
yOutputFilter.java:84)
       at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputB
uffer.java:192)
       at org.apache.coyote.Response.doWrite(Response.java:499)
       at dummyAdapter.service(dummyAdapter.java:49)

But on linux, I don't see any exception raised.


The source code and jar file-

To execute the code run: java TomcatCipherTst

This will start the listener on port 7677 and wait for client to connect. The server responds only after 60 seconds. So, to recreate the client needs to disconnect before 60 seconds.

I am looking for help to understand why there is no exception raised on linux when the client disconnects before server responds unlike that on windows.


Thanks,
Rashmi