GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
ZMQ_CONNECT_PEER(3) 0MQ Manual ZMQ_CONNECT_PEER(3)

zmq_connect_peer - create outgoing connection from socket and return the connection routing id in thread-safe and atomic way.

uint32_t zmq_connect_peer (void *socket, const char *endpoint);

The zmq_connect_peer() function connects a ZMQ_PEER socket to an endpoint and then returns the endpoint routing_id.

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.

The function is supported only on the ZMQ_PEER socket type and would return 0 with errno set to ENOTSUP otherwise.

The zmq_connect_peer() support 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)

ws

unicast transport using WebSockets, see zmq_ws(7)

wss

unicast transport using WebSockets over TLS, see zmq_wss(7)

The zmq_connect_peer() function returns the peer routing_id if successful. Otherwise it returns 0 and sets errno to one of the values defined below.

EINVAL
The endpoint supplied is invalid.

EPROTONOSUPPORT

The requested transport protocol is not supported with ZMQ_PEER.

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.

ENOTSUP

The socket is not of type ZMQ_PEER.

EFAULT

The ZMQ_IMMEDIATE option is set on the socket.

Connecting a peer socket to a TCP transport and sending a message.

/* Create a ZMQ_SUB socket */
void *socket = zmq_socket (context, ZMQ_PEER);
assert (socket);
/* Connect it to the host server001, port 5555 using a TCP transport */
uint32_t routing_id = zmq_connect (socket, "tcp://server001:5555");
assert (routing_id == 0);
/* Sending a message to the peer  */
zmq_msg_t msg;
int rc = zmq_msg_init_data (&msg, "HELLO", 5, NULL, NULL);
assert (rc == 0);
rc = zmq_msg_set_routing_id (&msg, routing_id);
assert (rc == 0);
rc = zmq_msg_send (&msg, socket, 0);
assert (rc == 5);
rc = zmq_msg_close (&msg);
assert (rc == 0);

zmq_connect(3) zmq_bind(3) zmq_socket(3) zmq(7)

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.
01/17/2021 0MQ 4.3.4

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.