summaryrefslogtreecommitdiff
path: root/examples/eventloop/echo.py
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2014-11-11 11:53:55 -0500
committerMicah Anderson <micah@riseup.net>2014-11-11 11:53:55 -0500
commit7d5c3dcd969161322deed6c43f8a6a3cb92c3369 (patch)
tree109b05c88c7252d7609ef324d62ef9dd7f06123f /examples/eventloop/echo.py
parent44be832c5708baadd146cb954befbc3dcad8d463 (diff)
upgrade to 14.4.1upstream/14.4.1
Diffstat (limited to 'examples/eventloop/echo.py')
-rw-r--r--examples/eventloop/echo.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/examples/eventloop/echo.py b/examples/eventloop/echo.py
new file mode 100644
index 0000000..9be079b
--- /dev/null
+++ b/examples/eventloop/echo.py
@@ -0,0 +1,27 @@
+#!/usr/bin/env python
+"""A trivial ZMQ echo server using the eventloop.
+
+Authors
+-------
+* MinRK
+"""
+
+import zmq
+from zmq.eventloop import ioloop
+
+loop = ioloop.IOLoop.instance()
+
+ctx = zmq.Context()
+s = ctx.socket(zmq.REP)
+s.bind('tcp://127.0.0.1:5555')
+
+def rep_handler(sock, events):
+ # We don't know how many recv's we can do?
+ msg = sock.recv()
+ # No guarantee that we can do the send. We need a way of putting the
+ # send in the event loop.
+ sock.send(msg)
+
+loop.add_handler(s, rep_handler, zmq.POLLIN)
+
+loop.start() \ No newline at end of file