While jeromq(java implementation of libzmq) and libzmq respect ZMQ_LINGER, labview-zmq doesn't.
If I set linger to 200ms, send a message, and close the socket immediately, then I lose most of messages. It seems that linger is always 0 regardless of any value I set as linger.
Is there any bug with your DLLs?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It should respect LINGER because libzmq is used under the hood. Can you confirm using setsocketopt/getsocketopt that the value of LINGER is as expected?
Because of technical considerations in the LabVIEW environment, when the VI stops running, any lingering messages will be eliminated. By using zmq_term with "reap?" set to F, LabVIEW will wait for the linger time to finish sending messages. If you do not use zmq_term, all lingering messages will be lost when the VI stops running.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
While jeromq(java implementation of libzmq) and libzmq respect ZMQ_LINGER, labview-zmq doesn't.
If I set linger to 200ms, send a message, and close the socket immediately, then I lose most of messages. It seems that linger is always 0 regardless of any value I set as linger.
Is there any bug with your DLLs?
It should respect LINGER because libzmq is used under the hood. Can you confirm using setsocketopt/getsocketopt that the value of LINGER is as expected?
Because of technical considerations in the LabVIEW environment, when the VI stops running, any lingering messages will be eliminated. By using zmq_term with "reap?" set to F, LabVIEW will wait for the linger time to finish sending messages. If you do not use zmq_term, all lingering messages will be lost when the VI stops running.