mirror of
https://github.com/zeromq/libzmq.git
synced 2024-12-13 10:52:56 +01:00
80 lines
2.5 KiB
Groff
80 lines
2.5 KiB
Groff
.TH zmq_tcp 7 "" "(c)2007-2010 iMatix Corporation" "0MQ User Manuals"
|
|
.SH NAME
|
|
TCP-based tranport for 0MQ
|
|
.SH SYNOPSIS
|
|
|
|
TCP is an ubiquitous unicast transport. When connecting distributed
|
|
applications, you will mostly use TCP transport.
|
|
|
|
.SH CONNECTION STRING
|
|
|
|
Connection string for TCP transport is "tcp://" followed by an IP adress,
|
|
colon and port number. IP address can be either its numeric representation,
|
|
a NIC name or a hostname (resolved by DNS):
|
|
|
|
.nf
|
|
tcp://192.168.0.111:5555
|
|
tcp://myserver001:80
|
|
tcp://lo:32768
|
|
.fi
|
|
|
|
Note that NIC names are not standardised by POSIX. They tend to be rather
|
|
arbitrary and platform dependent. Say, "eth0" on Linux would correspond to "en0"
|
|
on OSX and "e1000g" on Solaris. On Windows platform, as there are no short NIC
|
|
names available, you have to use numeric IP addresses instead.
|
|
|
|
.SH WIRE FORMAT
|
|
|
|
A message consists of a message length followed by message data.
|
|
Size of message data MUST correspond to the message length.
|
|
|
|
For messages of 0 to 254 octets, the length is represented by single octet.
|
|
|
|
For messages of 255 or more octets the length is represented by a single octet
|
|
%xFF followed by a 64-bit unsigned integer length in network byte order.
|
|
|
|
The protocol can be defined by this BNF grammar:
|
|
|
|
.nf
|
|
frame = length data
|
|
length = OCTET | escape 8*OCTET
|
|
escape = %xFF
|
|
data = *OCTET
|
|
.fi
|
|
|
|
Binary layout of a message (up to 254 bytes long):
|
|
|
|
.nf
|
|
0 1 2 3
|
|
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
| Message size | Message body ... |
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
| Message body ...
|
|
+-+-+-+-+-+-+- ...
|
|
|
|
Binary layout of a larger message:
|
|
|
|
0 1 2 3
|
|
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
| 0xff | Message size ... |
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
| Message size ... |
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
| Message size | Message body ... |
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
| Message body ...
|
|
+-+-+-+-+-+-+-+ ...
|
|
.fi
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
.BR zmq_udp (7)
|
|
.BR zmq_pgm (7)
|
|
.BR zmq_inproc (7)
|
|
|
|
.SH AUTHOR
|
|
Martin Sustrik <sustrik at 250bpm dot com>
|
|
|