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"