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]
# 1
I would have thought that an error while trying to read from the socket, maybe that the other end shut the socket down. Have you tried to read again from the socket ? if so what happend ?
scottcoleman1973 at 2007-6-29 10:22:25 > top of Java-index,Core,Core APIs...
# 2

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.

chrishmorris at 2007-6-29 10:22:25 > top of Java-index,Core,Core APIs...