unicast transport using TCP, see zmq_tcp(7)ipc
local inter-process communication transport, see zmq_ipc(7)inproc
local in-process (inter-thread) communication transport, see zmq_inproc(7)pgm, epgm
reliable multicast transport using PGM, see zmq_pgm(7)vmci
virtual machine communications interface (VMCI), see zmq_vmci(7)Every 0MQ socket type except ZMQ_PAIR supports one-to-many and many-to-one semantics. The precise semantics depend on the socket type and are defined in zmq_socket(3). The ipc, tcp and vmci transports accept wildcard addresses: see zmq_ipc(7), zmq_tcp(7) and zmq_vmci(7) for details.
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.
/* 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);