libzmq/examples/chat
2010-01-11 07:47:19 +01:00
..
display.cpp ZMQII-36: Chat example & forwarder broken because of changes subscribe semantics 2010-01-11 07:47:19 +01:00
Makefile.am autotools build system builds chat example now 2009-12-07 21:52:10 +01:00
prompt.cpp Copyrights transferred from FastMQ to iMatix 2010-01-05 08:29:35 +01:00
README minor documentation updates 2009-12-09 09:19:16 +01:00

This example is a simple instant messaging implementation. There are multiple
partipants 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