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 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, 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");
AUTHORS
Martin Sustrik <sustrik@250bpm.com>