![]() |
![]()
| ![]() |
![]()
NAMEzmq_tcp - 0MQ unicast transport using TCPSYNOPSISTCP 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.ADDRESSINGA 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 socketWhen 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.
Unbinding wild-card address from a socketWhen wild-card * endpoint was used in zmq_bind(), the caller should use real endpoint obtained from the ZMQ_LAST_ENDPOINT socket option to unbind this endpoint from a socket using zmq_unbind().Connecting a socketWhen 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. You can optionally specify a source_endpoint which will be used as the source address for your connection; tcp:// source_endpoint;'endpoint', see the interface description above for details. 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.
Note: A description of the ZeroMQ Message Transport Protocol (ZMTP) which is
used by the TCP transport can be found at http://rfc.zeromq.org/spec:15
EXAMPLESAssigning 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 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); // Connecting using a DNS name and bind to eth1 rc = zmq_connect(socket, "tcp://eth1:0;server1:5555"); assert (rc == 0); // Connecting using a IP address and bind to an IP address rc = zmq_connect(socket, "tcp://192.168.1.17:5555;192.168.1.1:5555"); assert (rc == 0); SEE ALSOzmq_bind(3) zmq_connect(3) zmq_pgm(7) zmq_ipc(7) zmq_inproc(7) zmq_vmci(7) zmq(7)AUTHORSThis page was written by the 0MQ community. To make a change please read the 0MQ Contribution Policy at http://www.zeromq.org/docs:contributing.
|