Connect, close then re-connect zmq req socket dose not send messages on reconnected socket
Opened this issue · 6 comments
Hello ,
I have implemented timeout and re-connection on zmq req socket but on re-connection unable to send messages on new socket . following is my implementation.
- If there is no response from the 'rep' socket for 3 sec i have closed existing 'req' socket and created a new one then sent a test message .
- I have enabled motoring log on both 'req' and 'rep' sockets . The rep socket shows log accept, endpoint: of 'rep' socket when i re-create new rep socket .
- issue : But i dint receive the test msg, as well as any new messages sent on the the new req socket .
steps to reproduce :
prerequisite :
- Ubuntu 14 >
- node js
- ZMQ :
sudo apt-get install g++
sudo apt-get install libtool pkg-config build-essential autoconf automake
sudo apt-get install libzmq3-dev
Steps to run sample
- unzip req_res_reconnect.zip
- npm install requester & responder
- npm start both requester & responder on seprate terminsals
the output of sample is attached. PFA output.PNG
I have similar issue, please suggest solution
Also a problem for me, using nodejs 6.7, nodejs-zmq 2.15 libzmq 3.1
In my case nodejs is crashing in libzmq.3.1.0:
[73569.549746] traps: node[18225] general protection ip:7fee3ad5acf0 sp:7ffd773a94a8 error:0 in libzmq.so.3.1.0[7fee3ad28000+5c000]
bringing down the entire node process.
My problem seems to be fixed by socket.unmonitor() before I close() and let the socket go out of scope
and be careful not to call unmonitor on a socket that is not monitored or closed
I have the same issue.
Just to be clear, My nodejs side of the socket creates the 'req' socket, and when the peer side comes up the first time, I get the on('connect') and all is fine.
When I drop the peer, the on('disconnect') fires fine as well.
However, upon starting the peer side again, I do not get any more on('connect') messages.