2
Complex example which is a combination of the rr* examples from the zguide.
4
from gevent import spawn
5
import zmq.green as zmq
8
context = zmq.Context()
9
socket = context.socket(zmq.REP)
10
socket.connect("tcp://localhost:5560")
14
message = socket.recv()
15
print "Received request: ", message
17
server = spawn(serve, socket)
21
context = zmq.Context()
22
socket = context.socket(zmq.REQ)
23
socket.connect("tcp://localhost:5559")
25
# Do 10 requests, waiting each time for a response
27
for request in range(1,10):
29
message = socket.recv()
30
print "Received reply ", request, "[", message, "]"
34
frontend = context.socket(zmq.XREP)
35
backend = context.socket(zmq.XREQ);
36
frontend.bind("tcp://*:5559")
37
backend.bind("tcp://*:5560")
39
def proxy(socket_from, socket_to):
41
m = socket_from.recv_multipart()
42
socket_to.send_multipart(m)
44
a = spawn(proxy, frontend, backend)
45
b = spawn(proxy, backend, frontend)