| nn_connect(3) |
| ============= |
| |
| NAME |
| ---- |
| nn_connect - add a remote endpoint to the socket |
| |
| |
| SYNOPSIS |
| -------- |
| *#include <nanomsg/nn.h>* |
| |
| *int nn_connect (int 's', const char '*addr');* |
| |
| |
| DESCRIPTION |
| ----------- |
| Adds a remote endpoint to the socket 's'. The library would then try to connect |
| to the specified remote endpoint. |
| |
| The 'addr' argument consists of two parts as follows: 'transport'`://`'address'. |
| The 'transport' specifies the underlying transport protocol to use. The meaning |
| of the 'address' part is specific to the underlying transport protocol. |
| |
| For the list of available transport protocols check the list on |
| linknanomsg:nanomsg[7] manual page. |
| |
| Maximum length of the 'addr' parameter is specified by _NN_SOCKADDR_MAX_ |
| defined in '<nanomsg/nn.h>' header file. |
| |
| Note that nn_connect and linknanomsg:nn_bind[3] may be called multiple times |
| on the same socket thus allowing the socket to communicate with multiple |
| heterogeneous endpoints. |
| |
| RETURN VALUE |
| ------------ |
| If the function succeeds positive endpoint ID is returned. Endpoint ID can be |
| later used to remove the endpoint from the socket via linknanomsg:nn_shutdown[3] |
| function. |
| |
| If the function fails negative value is returned and 'errno' is set to to one of |
| the values defined below. |
| |
| |
| ERRORS |
| ------ |
| *EBADF*:: |
| The provided socket is invalid. |
| *EMFILE*:: |
| Maximum number of active endpoints was reached. |
| *EINVAL*:: |
| The syntax of the supplied address is invalid. |
| *ENAMETOOLONG*:: |
| The supplied address is too long. |
| *EPROTONOSUPPORT*:: |
| The requested transport protocol is not supported. |
| *ENODEV*:: |
| Address specifies a nonexistent interface. |
| *ETERM*:: |
| The library is terminating. |
| |
| |
| EXAMPLE |
| ------- |
| |
| ---- |
| s = nn_socket (AF_SP, NN_PUB); |
| eid1 = nn_connect (s, "ipc:///tmp/test.ipc"); |
| eid2 = nn_connect (s, "tcp://server001:5560"); |
| ---- |
| |
| |
| SEE ALSO |
| -------- |
| linknanomsg:nn_inproc[7] |
| linknanomsg:nn_ipc[7] |
| linknanomsg:nn_tcp[7] |
| linknanomsg:nn_socket[3] |
| linknanomsg:nn_bind[3] |
| linknanomsg:nn_shutdown[3] |
| linknanomsg:nanomsg[7] |
| |
| AUTHORS |
| ------- |
| Martin Sustrik <sustrik@250bpm.com> |
| |