Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

zmq_ipc(7) [debian man page]

ZMQ_IPC(7)							    0MQ Manual								ZMQ_IPC(7)

NAME
zmq_ipc - 0MQ local inter-process communication transport SYNOPSIS
The inter-process transport passes messages between local processes using a system-dependent IPC mechanism. Note The inter-process transport is currently only implemented on operating systems that provide UNIX domain sockets. ADDRESSING
A 0MQ 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
This manual page was written by the 0MQ community. 0MQ 2.2.0 04/04/2012 ZMQ_IPC(7)

Check Out this Related Man Page

ZMQ_BIND(3)							    0MQ Manual							       ZMQ_BIND(3)

NAME
zmq_bind - accept connections on a socket SYNOPSIS
int zmq_bind (void *socket, const char *endpoint); DESCRIPTION
The zmq_bind() function shall create an endpoint for accepting connections and bind it to the socket referenced by the socket argument. The endpoint argument is a string consisting of two parts as follows: transport://address. The transport part specifies the underlying transport protocol to use. The meaning of the address part is specific to the underlying transport protocol selected. The following transports are defined: inproc local in-process (inter-thread) communication transport, see zmq_inproc(7) ipc local inter-process communication transport, see zmq_ipc(7) tcp unicast transport using TCP, see zmq_tcp(7) pgm, epgm reliable multicast transport using PGM, see zmq_pgm(7) With the exception of ZMQ_PAIR sockets, a single socket may be connected to multiple endpoints using zmq_connect(), while simultaneously accepting incoming connections from multiple endpoints bound to the socket using zmq_bind(). Refer to zmq_socket(3) for a description of the exact semantics involved when connecting or binding a socket to multiple endpoints. RETURN VALUE
The zmq_bind() function shall return zero if successful. Otherwise it shall return -1 and set errno to one of the values defined below. ERRORS
EINVAL The endpoint supplied is invalid. EPROTONOSUPPORT The requested transport protocol is not supported. ENOCOMPATPROTO The requested transport protocol is not compatible with the socket type. EADDRINUSE The requested address is already in use. EADDRNOTAVAIL The requested address was not local. ENODEV The requested address specifies a nonexistent interface. ETERM The 0MQ context associated with the specified socket was terminated. ENOTSOCK The provided socket was invalid. EMTHREAD No I/O thread is available to accomplish the task. EXAMPLE
Binding a publisher socket to an in-process and a TCP transport. /* Create a ZMQ_PUB socket */ void *socket = zmq_socket (context, ZMQ_PUB); assert (socket); /* Bind it to a in-process transport with the address 'my_publisher' */ int rc = zmq_bind (socket, "inproc://my_publisher"); assert (rc == 0); /* Bind it to a TCP transport on port 5555 of the 'eth0' interface */ rc = zmq_bind (socket, "tcp://eth0:5555"); assert (rc == 0); SEE ALSO
zmq_connect(3) zmq_socket(3) zmq(7) AUTHORS
This manual page was written by the 0MQ community. 0MQ 2.2.0 04/04/2012 ZMQ_BIND(3)
Man Page