Yes and no. In general, yes, you're absolutely right. On the other hand, if you don't mind opening a new TCP connection for each transaction (not always ideal, but not always bad; it depends), then a successful TCP close is equivalent to a transaction ack.
I'm starting to think a *lot* of reliability protocols built on top of TCP could be done more efficiently if TCP could expose some read-only information about its internal ACKing.... On Fri, Dec 20, 2013 at 4:13 PM, Stephen Hemminger < [email protected]> wrote: > On Fri, 20 Dec 2013 15:01:04 -0500 > Lindley French <[email protected]> wrote: > > > The problem, in my view, is that normally you can trust TCP to get your > packets through intact. > > Applications only know it made it to the socket queue, not that TCP ever > sent it and got > an acknowledgment or that the remote application got the message. To do > reliable communication > you need an end-to-end acknowledgment. This doesn't have to be on a > per-packet basis but > on a per-transaction basis. Think of what SCP/FTP do for file transfer. >
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
