NOTE: This documentation is for version 0.6-beta of nanomsg, but the latest released version is 1.0.0. Please see the documentation for 1.0.0 for the most up-to-date information.


#include <nanomsg/nn.h>

#include <nanomsg/ipc.h>


Inter-process transport allows for sending messages between processes within a single box. The implementation uses native IPC mechanism provided by the local operating system and the IPC addresses are thus OS-specific.

On POSIX-compliant systems, UNIX domain sockets are used and IPC addresses are file references. Note that both relative (ipc://test.ipc) and absolute (ipc:///tmp/test.ipc) paths may be used. Also note that access rights on the IPC files must be set in such a way that the appropriate applications can actually use them.

On Windows, named pipes are used for IPC. IPC address is an arbitrary case-insensitive string containing any character except for backslash. Internally, address ipc://test means that named pipe \\.\pipe\test will be used.


nn_bind (s1, "ipc:///tmp/test.ipc");
nn_connect (s2, "ipc:///tmp/test.ipc");



Martin Sustrik <>