Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
90 lines (69 sloc) 2.59 KB
zmq_bind - accept connections on a socket
*int zmq_bind (void '*socket', const char '*endpoint');*
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 linkzmq:zmq_inproc[7]
'ipc':: local inter-process communication transport, see linkzmq:zmq_ipc[7]
'tcp':: unicast transport using TCP, see linkzmq:zmq_tcp[7]
'pgm', 'epgm':: reliable multicast transport using PGM, see linkzmq: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 linkzmq:zmq_socket[3] for a description of the exact
semantics involved when connecting or binding a socket to multiple endpoints.
The _zmq_bind()_ function shall return zero if successful. Otherwise it shall
return `-1` and set 'errno' to one of the values defined below.
The requested 'transport' protocol is not supported.
The requested 'transport' protocol is not compatible with the socket type.
The requested 'address' is already in use.
The requested 'address' was not local.
The requested 'address' specifies a nonexistent interface.
The 0MQ 'context' associated with the specified 'socket' was terminated.
The provided 'socket' was not valid (NULL).
.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);
This 0MQ manual page was written by Martin Sustrik <> and
Martin Lucina <>.
Jump to Line
Something went wrong with that request. Please try again.