NAME
zmq_connect - connect a socket to a peer address
SYNOPSIS
int zmq_connect (void *socket, const char *address);
DESCRIPTION
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:
tcp
unicast transport using TCP, see zmq_tcp(7)
pgm, epgm
reliable multicast transport using PGM, see zmq_pgm(7)
ipc
local inter-process communication transport, see zmq_ipc(7)
inproc
local in-process (inter-thread) communication transport, see
zmq_inproc(7)
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().
Note
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
established.
RETURN VALUE
The zmq_connect() function shall return zero if successful. Otherwise
it shall return -1 and set errno to one of the values defined below.
ERRORS
EPROTONOSUPPORT
The requested transport protocol is not supported.
ENOCOMPATPROTO
The requested transport protocol is not compatible with the socket
type.
EXAMPLE
Example 1. Connecting a subscriber socket to an in-process and a TCP
transport
/* Create a ZMQ_SUB socket */
void *socket = zmq_socket (context, ZMQ_SUB);
assert (socket);
/* 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);
SEE ALSO
zmq_bind(3) zmq_socket(3) zmq(7)
AUTHORS
The 0MQ documentation was written by Martin Sustrik
<sustrik@250bpm.com[1]> and Martin Lucina <mato@kotelna.sk[2]>.
NOTES
1. sustrik@250bpm.com
mailto:sustrik@250bpm.com
2. mato@kotelna.sk
mailto:mato@kotelna.sk