<div dir="ltr">I'm new to 0mq, I have read the book, but could use some advice!  I have played around with various types of sockets and 0mq seems pretty robust.<div><br></div><div>I'm looking at using 0mq to replace some existing custom-sockets based code, basically, we have agents running on various systems that monitor that apps running on them.  The app has the following messaging patterns:</div>
<div><br></div><div>1) Pub-sub: The agent publishes periodic updates about the system, subscribers on the server listen and process the notifications.</div><div>2) Rep: The server can send requests to the agent, e.g. "ping", or "update" etc, the agent processes the request and replies.</div>
<div>3) Req: The agent can make requests to the server; the server replies with a response.</div><div><br></div><div>So all of these patterns exist within 0mq, I've prototyped them and they work nicely.  However, I find I have to set up and allocate listens/connects for each of these.</div>
<div><br></div><div>Is it possible to "trunk" or multiplex each of these patterns into a single channel?  I thought perhaps these patterns could actually be implemented using inproc: with a single dealer socket to the server, there would be a proxy type thread that would manage the marshaling of the individual inproc sockets onto the dealer with a corresponding proxy on the server that does the same.  Obviously, the proxy would also have to manage the message envelope to ensure that messages get routed appropriately and replies find their way home.</div>
<div><br></div><div>Also, I'm hoping to use the curve encryption on the dealer socket to protect the messages in transit (not only for encryption, but authentication).</div><div><br></div><div>Are there any examples of such a thing?  Or am I stuck with 3 connections per-agent?</div>
<div><br></div><div>Thanks!</div><div><br></div><div><br></div><div>-W.</div><div><br></div></div>