summaryrefslogtreecommitdiff
path: root/examples/chat
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@250bpm.com>2010-02-24 09:17:05 +0100
committerMartin Sustrik <sustrik@250bpm.com>2010-02-24 09:17:05 +0100
commitccd47f1ee8c9268b99478c6cce3d8b1aada62566 (patch)
tree680e9b474e22321ab0401bc899b90b31e463c4da /examples/chat
parent8980a985828579d03f031b18a1bebcd65eded417 (diff)
chat example moved to separate repo
Diffstat (limited to 'examples/chat')
-rw-r--r--examples/chat/Makefile.am11
-rw-r--r--examples/chat/README42
-rw-r--r--examples/chat/display.cpp50
-rw-r--r--examples/chat/prompt.cpp67
4 files changed, 0 insertions, 170 deletions
diff --git a/examples/chat/Makefile.am b/examples/chat/Makefile.am
deleted file mode 100644
index e14094f..0000000
--- a/examples/chat/Makefile.am
+++ /dev/null
@@ -1,11 +0,0 @@
-INCLUDES = -I$(top_builddir)/bindings/c -I$(top_builddir)/bindings/cpp
-
-noinst_PROGRAMS = display prompt
-
-display_SOURCES = display.cpp
-display_LDADD = $(top_builddir)/src/libzmq.la
-display_CXXFLAGS = -Wall -pedantic -Werror
-
-prompt_SOURCES = prompt.cpp
-prompt_LDADD = $(top_builddir)/src/libzmq.la
-prompt_CXXFLAGS = -Wall -pedantic -Werror
diff --git a/examples/chat/README b/examples/chat/README
deleted file mode 100644
index b93aefd..0000000
--- a/examples/chat/README
+++ /dev/null
@@ -1,42 +0,0 @@
-
-This example is a simple instant messaging implementation. There are multiple
-participants in the chat, both sending and reading messages. The sending
-application 'prompt' is separated from the application displaying the chat
-'display' so that there's no need for sophisticated GUI.
-
-To run the example you'll need both applications plus the 'forwarder' device
-that will play role of messaging server (chatroom). Build it this way:
-
-$ ./autogen.sh
-$ ./configure --with-chat --with-forwarder
-$ make
-$ sudo make install
-
-Once it is built create the configuration file (say config.xml) for the
-forwarder describing which network endpoints are to be used for incoming and
-outgoing messages:
-
-<forwarder>
- <in>
- <bind addr = "tcp://eth0:5555"/>
- </in>
- <out>
- <bind addr = "tcp://eth0:5556"/>
- </out>
-</forwarder>
-
-You are of course free to define mutliple endpoints for either incoming or
-outgoing messages.
-
-Now start the forwarder:
-
-$ zmq_forwarder ./config.xml
-
-At this point the messaging server is ready to accept connections from
-messaging clients. When starting the sending application, specify your name
-so that messages can be attributed to you:
-
-$ ./prompt tcp://myserver:5555 "John Doe"
-
-$ ./display tcp://myserver:5556
-
diff --git a/examples/chat/display.cpp b/examples/chat/display.cpp
deleted file mode 100644
index c689352..0000000
--- a/examples/chat/display.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- Copyright (c) 2007-2010 iMatix Corporation
-
- This file is part of 0MQ.
-
- 0MQ is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- 0MQ 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
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include <zmq.hpp>
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-
-int main (int argc, const char *argv [])
-{
- // Check the command line syntax.
- if (argc != 2) {
- fprintf (stderr, "usage: display <address>\n");
- return 1;
- }
-
- // Retrieve command line arguments
- const char *address = argv [1];
-
- // Initialise 0MQ infrastructure.
- zmq::context_t ctx (1, 1);
- zmq::socket_t s (ctx, ZMQ_SUB);
- s.setsockopt (ZMQ_SUBSCRIBE, "", 0);
- s.connect (address);
-
- while (true) {
-
- // Get a message and print it to the console.
- zmq::message_t msg;
- s.recv (&msg);
- fprintf (stdout, "%s", (char*) msg.data ());
- fflush (stdout);
- }
-}
diff --git a/examples/chat/prompt.cpp b/examples/chat/prompt.cpp
deleted file mode 100644
index 540ac16..0000000
--- a/examples/chat/prompt.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- Copyright (c) 2007-2010 iMatix Corporation
-
- This file is part of 0MQ.
-
- 0MQ is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- 0MQ 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
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include <zmq.hpp>
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-
-int main (int argc, const char *argv [])
-{
- // Check the command line syntax.
- if (argc != 3) {
- fprintf (stderr, "usage: prompt <address> <username>\n");
- return 1;
- }
-
- // Retrieve command line arguments
- const char *address = argv [1];
- const char *username = argv [2];
-
- // Initialise 0MQ infrastructure.
- zmq::context_t ctx (1, 1);
- zmq::socket_t s (ctx, ZMQ_PUB);
- s.connect (address);
-
- // Prepare a message buffer. Place username at the beginning
- // of the message.
- char textbuf [1024];
-#ifdef _MSC_VER
- _snprintf_s (textbuf, sizeof (textbuf), sizeof (textbuf), "%s: ",
- username);
-#else
- snprintf (textbuf, sizeof (textbuf), "%s: ", username);
-#endif
- size_t prefixsz = strlen (textbuf);
- char *text = textbuf + prefixsz;
-
- while (true) {
-
- // Let user type the enter the message text.
- char *rcc = fgets (text, sizeof (textbuf) - prefixsz, stdin);
- assert (rcc);
-
- // Create the message (terminating zero is part of the message).
- zmq::message_t msg (strlen (textbuf) + 1);
- memcpy (msg.data (), textbuf, msg.size ());
-
- // Send the message
- s.send (msg);
- }
-}