from eventlet.green import zmq import eventlet CTX = zmq.Context(1) def bob_client(ctx, count): print("STARTING BOB") bob = zmq.Socket(CTX, zmq.REQ) bob.connect("ipc:///tmp/test") for i in range(0, count): print("BOB SENDING") bob.send("HI") print("BOB GOT:", bob.recv()) def alice_server(ctx, count): print("STARTING ALICE") alice = zmq.Socket(CTX, zmq.REP) alice.bind("ipc:///tmp/test") print("ALICE READY") for i in range(0, count): print("ALICE GOT:", alice.recv()) print("ALIC SENDING") alice.send("HI BACK") alice = eventlet.spawn(alice_server, CTX, 10) bob = eventlet.spawn(bob_client, CTX, 10) bob.wait() alice.wait()