[Standards-JIG] What happened to the ACK proposal?
theraven at sucs.org
Sat Aug 13 09:13:29 UTC 2005
On 13 Aug 2005, at 02:16, Gaston Dombiak wrote:
> Hey guys,
> I noticed that under certain circumstances Java is not able to
> detect that a
> connection was closed.
The problem is not with Java, it is with TCP. If a connection is
closed properly, then both parties are notified. If the connection
is dropped, then they are not - the only way to detect that a TCP
connection is dropped it to send some data and then wait for the TCP
ACK for a specified timeout - if the ACK is not received then the
connection is dropped (although it could just be really laggy - I've
seen RTTs of over two minutes in the past, on really congested
A good implementation of a TCP API would throw an exception (or
invoke a callback) when this occurred, passing the unsent data (i.e.
the data for which no ACK has been received) as an argument.
Unfortunately, I have never seen a good TCP API (everyone
standardised on the Berkley socket API which is brain-dead in so very
More information about the Standards