Sounds like a normal use for PAIR. Make sure you're checking return codes on all calls, and then you can trace messages sent/received on each side to see what's going wrong.
On Sat, Aug 8, 2015 at 8:38 PM, Bob Clarke <[email protected]> wrote: > I am developing a Windows application in C++ using 0MQ 4.1.2. The app will > listen for machine status updates from up to eight data centers in the US > and Europe. The server(s) are working fine, but it's inside the GUI client > that a problem occurs. > > The GUI client contains one Listener object per data center, and each > Listener stores some information obtained from its server. Some Listeners > never get created because the user may not care about that data center > (different use cases). > > The Listeners connect to a SUB socket and a REQ socket for acting on server > messages, bind to an inproc PAIR socket for acting on UI requests, then sit > in a polling loop, watching for messages. Each Listener uses Windows > messages to communicate with the UI, and when the UI needs something from a > Listener, it communicates via a local variable inproc PAIR socket: create > and connect with the PAIR socket, ask the Listener for something, get the > reply, set Linger to 0, close and delete (via destructor) the PAIR socket. > The user is often just watching the app, but they may click on something for > more information, which is why the UI then talks to a Listener, instead of > the app creating PAIR sockets and leaving them open. > > The problem is that, eventually, the UI hangs and I have been able to > consistently trace it back to a Listener's PAIR socket receiving a request, > but then not returning. The number of Listeners does not seem to matter; I > have disabled all but one and the problem still occurs. The hang may occur > soon after the app starts and the user starts clicking around, or it may > take hundreds of UI requests to a Listener for the hang to occur. > > I have not taken the time to distill this down to a small program yet. But, > is this an improper use of the PAIR sockets? > > Thanks. > > Bob Clarke > > > _______________________________________________ > zeromq-dev mailing list > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev > _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
