<div dir="ltr"><div><div><div><div><div><div>Hi,<br></div><br></div>I have the following topology<br><br></div>Client ---> Broker ----> Server<br><br></div>Both the client and server are sockets of type ZMQ_REQ while the Broker has a socket connected to client and another Socket Connected to Server both are of type ZMQ_BROKER.<br>
<br>    void *frontend = zmq_socket (context, ZMQ_ROUTER);<br>    void *backend = zmq_socket (context, ZMQ_ROUTER);<br><br>    zmq_bind(frontend, "ipc:///users/badmanoh/frontend.ipc");<br>    zmq_bind(backend, "ipc:///users/badmanoh/backend.ipc");<br>
<br>    poll_items[0].socket = frontend;<br>    poll_items[0].fd = 0;<br>    poll_items[0].events = ZMQ_POLLIN;<br>    poll_items[0].revents = 0;<br><br>    poll_items[0].socket = backend;<br>    poll_items[0].fd = 0;<br>
    poll_items[0].events = ZMQ_POLLIN;<br>    poll_items[0].revents = 0;<br><br>    while (1) {<br>        ret = zmq_poll(poll_items, 2, -1);<br>        if (ret == -1) {<br>            printf("zmq_poll returned -1. Error: %d\n", errno);<br>
            return 0;<br>        }<br>        if (poll_items[0].revents & ZMQ_POLLIN) {<br>        }<br>        if (poll_items[0].revents & ZMQ_POLLIN) {<br>        }<br>}<br><br></div>On the broker code, I have a zmq_poll(poll_items, 2, -1) on a while loop. I see the zmq_poll notifying the first message from each socket. However subsequent messages from both the client or server sockets are not at all returned and the zmq_poll just stays in an infinite loop. Could you let us know if I am missing anything? Do I need to reset the revents value as part of the first notification?<br>
<br></div>Thanks<br>Badhri<br></div>