No error while sending via TCP Socket

Ben Sizer kylotan at gmail.com
Mon Jul 3 12:13:43 EDT 2006


Grant Edwards wrote:
> You're talking about the case where there's un-ACKed data.
> Breaking a link when there's no un-ACKed data (which is what
> the OP did) will require an hour or two to timeout _iff_
> keepalive is enabled.  If keepalive has not been enabled, a
> broken connection with no un-ACKed data will never timeout.

My mistake, Grant. I was under the impression that a blocking send()
would wait for an ACK before proceeding, but upon checking the man
pages I see that this is not the case. It does seem to make the
oft-cited TCP guarantee of data arrival a little weaker however, if you
can't necessarily know how many of your sends have succeeded or not.
Doubtless I am missing something here, too. Time to dig out my old
networking notes, perhaps.

-- 
Ben Sizer




More information about the Python-list mailing list