blob: 06386b892e2e56d5da42c9c2bed8ca8dccd4a67f [file] [log] [blame]
nn_tcpmux(7)
============
NAME
----
nn_tcpmux - TCPMUX transport mechanism
SYNOPSIS
--------
*#include <nanomsg/nn.h>*
*#include <nanomsg/tcpmux.h>*
DESCRIPTION
-----------
THIS IS AN EXPERIMENTAL FEATURE. DO NOT USE.
THE FUNCTIONALITY IS SUBJECT TO CHANGE WITHOUT PRIOR NOTICE.
TCPMUX transport is basically the same as TCP transport
(see linknanomsg:nn_tcp[7]) except that it allows to specify service names
along with IP addresses and TCP ports. What it means in practice is that many
applications on the same box can share the same TCP port.
When connecting and binding use the same connection string syntax as with
TCP transport, except that the initial protocol specification should be
'tcpmux://' instead of 'tcp://' and that the connection string should end
with a slash and a service name:
----
nn_connect (s, "tcpmux://192.168.0.1:5555/foo");
----
When binding to a TCPMUX endpoint, linknanomsg:nn_tcpmuxd[1] daemon must be
running on the box and specified port. There is no such requirement when
connecting to a TCPMUX endpoint.
Socket Options
~~~~~~~~~~~~~~
NN_TCPMUX_NODELAY::
This option, when set to 1, disables Nagle's algorithm. It also disables
delaying of TCP acknowledgments. Using this option improves latency at
the expense of throughput. Type of this option is int. Default value is 0.
EXAMPLE
-------
----
nn_bind (s1, "tcpmux://*:5555/foo");
nn_connect (s2, "tcpmux://server1.example.org:5555/foo");
----
SEE ALSO
--------
linknanomsg:nn_tcpmuxd[1]
linknanomsg:nn_tcp[7]
linknanomsg:nn_inproc[7]
linknanomsg:nn_ipc[7]
linknanomsg:nn_bind[3]
linknanomsg:nn_connect[3]
linknanomsg:nanomsg[7]
AUTHORS
-------
Martin Sustrik <sustrik@250bpm.com>