Hi, I am a 0mq newbie. I have the follwoing problem in hand: I have several client nodes (machines) and one server node. A client node: consists of several threads. A thread (say, requester thread) sends a request and waits (blocks) immediately to receive the reply for that request. So a request has always a reply. The reply may take arbitrarily long to arrive keeping the requester blocking. Server node: consists of many worker threads. A worker receives a request, does something with it and eventually (may take arbitrarily long) sends a reply back to the requester. This is a classical problem. I need that the requester (client thread) receives his own reply, of course. I would like to have only one tcp connection between a client node and the server. I have read "Asynchronous Client/Server Pattern" example in 0mq guide. The server side seems to be exactly what I need: [ ROUTER <-> Sevrer <-> DEALER <-> DEALER <-> Worker ]. The client side however is not what I want since each client thread has to use a DEALER which directly conncects to the server node by a tcp connection. So I am thinking of two possible solutions for the client side but I want to learn your opinon before I dig in to the coding: Client-side solution 1: [ requester <-> DEALER <-> ROUTER ] this ends up with a ROUTER to ROUTER between client node and server node via a tcp. Client-side solution 2: [ requester <-> DEALER <-> ROUETR <-> DEALER ] this ends up with a DEALER to ROUTER between client node and server node via tcp plus local DEALER to ROUTER connectins between requester threads and the ROUTER. I am not sure about correctness of solution 1; solution 2 looks more reasonable but also more complex. Or maybe there are better solutions?? Every comment or advice is appreciated. Regards, Babak _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
