Provided by: libzmq-dev_2.0.6beta.dfsg-2_i386
zmq_connect - connect a socket to a peer address
int zmq_connect (void *socket, const char *address);
The zmq_connect() function shall connect the socket referenced by the
socket argument to a peer address specified by the address argument.
The address argument is a string consisting of two parts as follows:
transport://endpoint. The transport part specifies the underlying
transport protocol to use. The meaning of the endpoint part is specific
to the underlying transport protocol selected.
The following transports are defined:
unicast transport using TCP, see zmq_tcp(7)
reliable multicast transport using PGM, see zmq_pgm(7)
local inter-process communication transport, see zmq_ipc(7)
local in-process (inter-thread) communication transport, see
A single socket may be connected to an arbitrary number of peer
addresses using zmq_connect(), while also having an arbitrary number of
local addresses assigned to it using zmq_bind().
The connection will not be performed immediately but as needed by
0MQ. Thus a successful invocation of zmq_connect() does not
indicate that a physical connection was or can actually be
The zmq_connect() 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
Example 1. Connecting a subscriber socket to an in-process and a TCP
/* Create a ZMQ_SUB socket */
void *socket = zmq_socket (context, ZMQ_SUB);
/* Connect it to an in-process transport with the endpoint ´my_publisher´ */
int rc = zmq_connect (socket, "inproc://my_publisher");
assert (rc == 0);
/* Connect it to the host server001, port 5555 using a TCP transport */
rc = zmq_connect (socket, "tcp://server001:5555");
assert (rc == 0);
zmq_bind(3) zmq_socket(3) zmq(7)
The 0MQ documentation was written by Martin Sustrik
<email@example.com> and Martin Lucina <firstname.lastname@example.org>.