Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ZMQ_CONNECT(3)			  0MQ Manual			ZMQ_CONNECT(3)

NAME
       zmq_connect - create outgoing connection	from socket

SYNOPSIS
       int zmq_connect (void *socket, const char *endpoint);

DESCRIPTION
       The 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(), for socket types except for ZMQ_ROUTER,
	   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). A ZMQ_ROUTER socket enters	its normal
	   ready state for a specific peer only	when handshaking is complete
	   for that peer, which	may take an arbitrary time.

RETURN VALUE
       The zmq_connect() function returns zero if successful. Otherwise	it
       returns -1 and sets errno to one	of the values defined below.

ERRORS
       EINVAL
	   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.

       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.

EXAMPLE
       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 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 ALSO
       zmq_bind(3) zmq_socket(3) zmq(7)

AUTHORS
       This page was written by	the 0MQ	community. To make a change please
       read the	0MQ Contribution Policy	at
       http://www.zeromq.org/docs:contributing.

0MQ 4.1.5			  07/02/2017			ZMQ_CONNECT(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | EXAMPLE | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=zmq_connect&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help