Hi Pieter,

Thanks for your reply. I'm still confused, though...

When you close TCP sockets, you will lose any data that hasn't yet
been received. There's no way to force data to be received except by
some kind of handshake back from the receiving application.

The documentation for zmq_term says, "For each socket within context, all messages sent by the application with zmq_send() have either been physically transferred to a network peer, or the socket's linger period set with the ZMQ_LINGER socket option has expired." Is that correct? I.e., is it correct that if data is being transmitted over a TCP socket, and ZMQ_LINGER is set to -1, a context won't terminate until data sent over that socket has been transmitted to the other end of it?

If that is correct, then how can the data be lost on close if it has already been physically transferred to the other end of the socket? What am I missing?

Thanks,

Jonathan Kamens

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to