| 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> |
| |