On Fri, 20 Mar 2009 13:24:09 +0000 (GMT)
Robert Watson <rwat...@freebsd.org> wrote:

> 
> On Fri, 20 Mar 2009, Yoshihiro Ota wrote:
> 
> > 1. With TCP connections, only sender side can detect some communication 
> > issues passively if happened.  By using two connections, you lost that 
> > ability by your self.  I agree on this one.
> 
> Could you expand a bit on this point?  While the connection creation process 
> (usually) asymmetric, once the connection is built it's essentially the same 
> state machine on both sides of the connection, and socket semantics with 
> respect to the state machine are effectively identical.  Application on both 
> sides should be able to detect disconnect, monitor connection state using 
> TCP_INFO, etc.


What I meant was that there were cases when a receiver could not tell weather
no data was coming or communication was interrupted.  Once connection is
established, a route is available between a server and a client.  Let's say
this  route is broken for some reasons, i.e. someone unplugged a cable or
a firewall started dropping or rejecting between these server and client,
a sender may not notice as soon as it happens but at least, a sender knows
a massages was not delivered right.  On the other hand, receiver side does
not have any idea that a message delivery failure has happened at all or
for a while unless using heartbeat messages in upper layer.  KEEP_ALIVE option
seems to be implementation dependent such that you cannot assure TCP
connection availability for every minute.


Thanks,
Hiro
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to