This documentation is for version v1.3.0 of NNG, but the latest released version is v1.8.0. see the documentation for v1.8.0 for the most up-to-date information.


#include <nanomsg/nn.h>

int nn_bind(int sock, const char *url)


The nn_bind() function arranges for the socket sock to accept connections at the address specified by url. An “endpoint identifier” for this socket’s association with the url is returned to the caller on success. This ID can be used with nn_shutdown() to “unbind” the socket from the address at url.

This function is provided for API compatibility with legacy libnanomsg. Consider using the relevant modern API instead.
The bind operation is performed asynchronously, and may not have completed before this function returns control to the caller.
Only transports supported by legacy libnanomsg may be used with this function. In particular, only the schemes tcp://, ipc://, inproc://, and ws:// are supported with this function. (Use the modern API to use other schemes.)


This function returns a positive identifier on success, and -1 on error.



The address specified by url is already in use.


The address specified by url is not available.


The socket sock is not open.


An invalid url was supplied.