#include <nng/nng.h>
typedef struct nng_socket_s nng_socket;
This documentation is for the TIP (development tree) of NNG and may represent unreleased changes or functionality that is experimental, and is subject to change before release. The latest released version is v1.8.0. See the documentation for v1.8.0 for the most up-to-date information. |
nng_socket(5)
NAME
nng_socket - socket handle
SYNOPSIS
DESCRIPTION
An nng_socket
is a handle to an underlying socket object.
All communication between the application and remote Scalability Protocol
peers is done through sockets.
A given socket can have multiple dialers (nng_dialer
)
and/or listeners (nng_listener
), and multiple
pipes (nng_pipe
), and
may be connected to multiple transports at the same time.
However, a given socket will have exactly one protocol associated with it,
and is responsible for any state machines or other protocol-specific logic.
The nng_socket structure is always passed by value (both
for input parameters and return values), and should be treated opaquely.
Passing structures this way gives the compiler a chance to perform
accurate type checks in functions passing values of this type.
|
Each nng_socket
is created by a protocol-specific constructor, such as
nng_rep_open()
.
When the socket is no longer needed, it can be closed with
nng_close()
.
Initialization
A socket may be initialized using the macro NNG_SOCKET_INITIALIZER
before it is opened, to prevent confusion with valid open sockets.
For example:
nng_socket s = NNG_SOCKET_INITIALIZER;