Scroll to navigation

ZMQ_TCP(7) 0MQ Manual ZMQ_TCP(7)

NAME

zmq_tcp - 0MQ unicast transport using TCP

SYNOPSIS

TCP is an ubiquitous, reliable, unicast transport. When connecting distributed applications over a network with 0MQ, using the TCP transport will likely be your first choice.

ADDRESSING

A 0MQ 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.
 
For the TCP transport, the transport is tcp, and the meaning of the address part is defined below.

Assigning a local address to a socket

When assigning a local address to a socket using zmq_bind() with the tcp transport, the endpoint shall be interpreted as an interface followed by a colon and the TCP port number to use.
 
An interface may be specified by either of the following:
 
•The wild-card *, meaning all available interfaces.
 
•The primary IPv4 or IPv6 address assigned to the interface, in its numeric representation.
 
•The non-portable interface name as defined by the operating system.
 
The TCP port number may be specified by:
 
•A numeric value, usually above 1024 on POSIX systems.
 
•The wild-card *, meaning a system-assigned ephemeral port.
 
When using ephemeral ports, the caller should retrieve the actual assigned port using the ZMQ_LAST_ENDPOINT socket option. See zmq_getsockopt(3) for details.

Connecting a socket

When connecting a socket to a peer address using zmq_connect() with the tcp transport, the endpoint shall be interpreted as a peer address followed by a colon and the TCP port number to use.
 
A peer address may be specified by either of the following:
 
•The DNS name of the peer.
 
•The IPv4 or IPv6 address of the peer, in its numeric representation.

EXAMPLES

Assigning a local address to a socket.
 
//  TCP port 5555 on all available interfaces
rc = zmq_bind(socket, "tcp:/// :5555");
assert (rc == 0);
//  TCP port 5555 on the local loop-back interface on all platforms
rc = zmq_bind(socket, "tcp://127.0.0.1:5555");
assert (rc == 0);
//  TCP port 5555 on the first Ethernet network interface on Linux
rc = zmq_bind(socket, "tcp://eth0:5555");
assert (rc == 0);
Connecting a socket.
 
//  Connecting using an IP address
rc = zmq_connect(socket, "tcp://192.168.1.1:5555");
assert (rc == 0);
//  Connecting using a DNS name
rc = zmq_connect(socket, "tcp://server1:5555");
assert (rc == 0);
 

SEE ALSO

zmq_bind(3) zmq_connect(3) zmq_pgm(7) zmq_ipc(7) zmq_inproc(7) zmq(7)

AUTHORS

This 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

1.
ph@imatix.com
mailto:ph@imatix.com
2.
sustrik@250bpm.com
mailto:sustrik@250bpm.com
3.
mato@kotelna.sk
mailto:mato@kotelna.sk
05/02/2013 0MQ 3.2.2