|
NAMEzmq_connect - create outgoing connection from socketSYNOPSISint zmq_connect (void *socket, const char *endpoint);DESCRIPTIONThe zmq_connect() function connects the socket to an endpoint and then accepts incoming connections on that endpoint.The endpoint is a string consisting of a transport:// followed by an address. The transport specifies the underlying protocol to use. The address specifies the transport-specific address to connect to. 0MQ provides the the following transports: tcp 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)
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). Note for most transports and socket types the connection is not performed immediately but as needed by 0MQ. Thus a successful call to zmq_connect() does not mean that the connection was or could actually be established. Because of this, for most transports and socket types the order in which a server socket is bound and a client socket is connected to it does not matter. The first exception is when using the inproc:// transport: you must call zmq_bind() before calling zmq_connect(). The second exception are ZMQ_PAIR sockets, which do not automatically reconnect to endpoints. Note following a zmq_connect(), the socket enters its normal ready state. By contrast, following a zmq_bind() alone, the socket enters a mute state in which the socket blocks or drops messages according to the socket type, as defined in zmq_socket(3). RETURN VALUEThe zmq_connect() function returns zero if successful. Otherwise it returns -1 and sets errno to one of the values defined below.ERRORSEINVALThe endpoint supplied is invalid.
EPROTONOSUPPORT The requested transport protocol is not
supported.
ENOCOMPATPROTO The requested transport protocol is not compatible
with the socket type.
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.
EXAMPLEConnecting 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 address '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 ALSOzmq_bind(3) zmq_socket(3) zmq(7)AUTHORSThis 0MQ manual page was written by Pieter Hintjens <ph@imatix.com[1]>, Martin Sustrik <sustrik@250bpm.com[2]> and Martin Lucina <mato@kotelna.sk[3]>.NOTES
mailto:ph@imatix.com
mailto:sustrik@250bpm.com
mailto:mato@kotelna.sk
Visit the GSP FreeBSD Man Page Interface. |