summaryrefslogtreecommitdiff
path: root/examples/chat
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2014-08-11 16:33:29 -0400
committerMicah Anderson <micah@riseup.net>2014-08-11 16:33:29 -0400
commitcce638a8adf4e045ca5505afea4bda57753c31dd (patch)
treeb5e139d3359ac5b8c7b1afa8acbb1b5b6051c626 /examples/chat
initial import of debian package
Diffstat (limited to 'examples/chat')
-rw-r--r--examples/chat/display.py41
-rw-r--r--examples/chat/prompt.py39
2 files changed, 80 insertions, 0 deletions
diff --git a/examples/chat/display.py b/examples/chat/display.py
new file mode 100644
index 0000000..d4e240a
--- /dev/null
+++ b/examples/chat/display.py
@@ -0,0 +1,41 @@
+"""The display part of a simply two process chat app."""
+
+#
+# Copyright (c) 2010 Andrew Gwozdziewycz
+#
+# This file is part of pyzmq.
+#
+# pyzmq is free software; you can redistribute it and/or modify it under
+# the terms of the Lesser GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# pyzmq is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# Lesser GNU General Public License for more details.
+#
+# You should have received a copy of the Lesser GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+import zmq
+
+def main(addrs):
+
+ context = zmq.Context()
+ socket = context.socket(zmq.SUB)
+ socket.setsockopt(zmq.SUBSCRIBE, "")
+ for addr in addrs:
+ print "Connecting to: ", addr
+ socket.connect(addr)
+
+ while True:
+ msg = socket.recv_pyobj()
+ print "%s: %s" % (msg[1], msg[0])
+
+if __name__ == '__main__':
+ import sys
+ if len(sys.argv) < 2:
+ print "usage: display.py <address> [,<address>...]"
+ raise SystemExit
+ main(sys.argv[1:])
diff --git a/examples/chat/prompt.py b/examples/chat/prompt.py
new file mode 100644
index 0000000..d9b12ec
--- /dev/null
+++ b/examples/chat/prompt.py
@@ -0,0 +1,39 @@
+"""The prompt part of a simply two process chat app."""
+
+#
+# Copyright (c) 2010 Andrew Gwozdziewycz
+#
+# This file is part of pyzmq.
+#
+# pyzmq is free software; you can redistribute it and/or modify it under
+# the terms of the Lesser GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# pyzmq is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# Lesser GNU General Public License for more details.
+#
+# You should have received a copy of the Lesser GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+import zmq
+
+def main(addr, who):
+
+ ctx = zmq.Context()
+ socket = ctx.socket(zmq.PUB)
+ socket.bind(addr)
+
+ while True:
+ msg = raw_input("%s> " % who)
+ socket.send_pyobj((msg, who))
+
+
+if __name__ == '__main__':
+ import sys
+ if len(sys.argv) != 3:
+ print "usage: prompt.py <address> <username>"
+ raise SystemExit
+ main(sys.argv[1], sys.argv[2])