title: non-blocking zmq send / recv and process when all replies received
body: <p>I am building a simple client-server app with python and zmq. </p>
  
  <p>The objective is the following: From a client I would like to simultaneously send (non-blocking) requests to multiple servers and when the all the responses received, to be notified in order to make several calculations.</p>
  
  <p>Until now, all the zmq examples which I found and applied, are blocking in the socket.recv of every request until response from each server received. This means that I am able to send my request to multiple servers but I am doing this on serial way and lose some valuable time.</p>
  
  <p>The attempts I made are based at the following:
  <a href="https://learning-0mq-with-pyzmq.readthedocs.io/en/latest/pyzmq/patterns/client_server.html" rel="nofollow noreferrer">https://learning-0mq-with-pyzmq.readthedocs.io/en/latest/pyzmq/patterns/client_server.html</a></p>
  
  <p>Do you have any material/examples regarding my question?</p>
  
  <p>Thanks a lot in advance! </p>