#include <nng/transport/tcp/tcp.h> int nng_tcp_register(void);
The tcp transport provides communication support between nng sockets across a TCP/IP network. Both IPv4 and IPv6 are supported when the underlying platform also supports it.
The nng_tcp transport is generally built-in to the nng core, so no extra steps to use it should be necessary.
This transport uses URIs using the scheme
tcp://, followed by
an IP address or hostname, followed by a colon and finally a
TCP port number.
For example, to contact port 80 on the localhost either of the following URIs
could be used:
A URI may be restricted to IPv6 using the scheme
tcp6://, and may
be restricted to IPv4 using the scheme
|We recommend using either numeric IP addresses, or names that are specific to either IPv4 or IPv6 to prevent confusion and surprises.|
When specifying IPv6 addresses, the address must be enclosed in
square brackets (
) to avoid confusion with the final colon
separating the port.
For example, the same port 80 on the IPv6 loopback address (
be specified as
The special value of 0 (
can be used for a listener to indicate that it should listen on all
interfaces on the host.
A short-hand for this form is to either omit the address, or specify
the asterisk (
For example, the following three URIs are all equivalent,
and could be used to listen to port 9999 on the host:
The entire URI must be less than
NNG_MAXADDRLEN bytes long.
bool) Enable TCP keep-alives, defaults to
bool) Disable Nagle’s algorithm. When enabled (
false), the underlying TCP stream will attempt to buffer and coalesce messages before sending them on, waiting a short interval to improve buffering and reduce the overhead caused by sending too-small messages. This comes at a cost to latency, and is not recommended with modern high speed networks. Defaults to