Socket read exception
Hi!
I have a client (an applet) which communicates with a server via socket. It works like a charm in most cases. However, sometimes when the connection is slow I get an IOException. If I print the message provided with the IOException it look like:
Socket read exception
What does this really mean? The reason why I'm asking this question, is that the server programmers are non Java programmers. Could someone give me some more information that could be useful?
BTW. The SO_TIMEOUT is 0 (the default).
Regards
Johan
[582 byte] By [
joka] at [2007-9-26 2:43:34]

Which JVM are you using? Occasionally with a microsoft JVM this exception seems to be retriable, so I allow up to three. However, you would normally expect it to be terminal, since the TCP implementation itself should handle all possible retries.
Sadly the server may not detect the failure of the socket, unless your protocol includes some sort of PING/ keepalive. *nix servers seem particularly bad at detecting the closing of a socket.
Windows by deault hangs up if your internet connection is not busy, you may need to change this option in IE.
You mention that this error is more common at busy times. You may find that your network includes some sort of load balancer that closes sockets that it considers idle - this is not uncommon.