zmq_ipc(7)

zmq_ipc(7)

ØMQ Manual - ØMQ/2.2.0

Name

zmq_ipc - ØMQ local inter-process communication transport

Synopsis

The inter-process transport passes messages between local processes using a system-dependent IPC mechanism.

The inter-process transport is currently only implemented on operating systems that provide UNIX domain sockets.

Addressing

A ØMQ address string consists of two parts as follows: transport ://endpoint. The transport part specifies the underlying transport protocol to use, and for the inter-process transport shall be set to ipc. The meaning of the endpoint part for the inter-process transport is defined below.

Assigning a local address to a socket

When assigning a local address to a socket using zmq_bind() with the ipc transport, the endpoint shall be interpreted as an arbitrary string identifying the pathname to create. The pathname must be unique within the operating system namespace used by the ipc implementation, and must fulfill any restrictions placed by the operating system on the format and length of a pathname.

Connecting a socket

When connecting a socket to a peer address using zmq_connect() with the ipc transport, the endpoint shall be interpreted as an arbitrary string identifying the pathname to connect to. The pathname must have been previously created within the operating system namespace by assigning it to a socket with zmq_bind().

Wire format

Not applicable.

Examples

Assigning a local address to a socket

/* Assign the pathname "/tmp/feeds/0" */
rc = zmq_bind(socket, "ipc:\/\@@//@@tmp/feeds/0"); assert (rc == 0);

Connecting a socket

/* Connect to the pathname "/tmp/feeds/0" */
rc = zmq_connect(socket, "ipc:\/\@@//@@tmp/feeds/0"); assert (rc == 0);

See also

zmq_bind(3) zmq_connect(3) zmq_inproc(7) zmq_tcp(7) zmq_pgm(7) zmq(7)

Authors

The ØMQ documentation was written by Martin Sustrik <moc.mpb052|kirtsus#moc.mpb052|kirtsus> and Martin Lucina <ks.anletok|otam#ks.anletok|otam>.