tcpclient
attempts to connect to a TCP server.
If it is successful, it runs
program
with the given arguments,
with descriptor 6 reading from the network
and descriptor 7 writing to the network.
The server's address is given by
host
and
port.
host
may be 0, referring to the local machine,
or a dotted-decimal IP address,
or a host name;
if a host has several IP addresses,
tcpclient
tries each in turn.
port
may be a numeric port number
or a port name.
tcpclient
sets up several environment variables,
as described in
tcp-environ(5).
OPTIONS
-ilocalip
Use
localip
as the IP address for the local side of the connection;
quit if
localip
is not available.
-plocalport
Use
localport
as the port number for the local side of the connection;
quit if
localport
is not available.
-Iinterface
Use
interface
as the local network interface. This is only defined for IPv6 sockets
and needed if you use link-local IPv6 addresses.
-Ttimeoutconn
Give up on the
connection attempt
after
timeoutconn
seconds. Default: 60.
This timeout applies to each IP address tried.
-d
(Default.)
Delay sending data for a fraction of a second whenever the
remote host is responding slowly,
to make better use of the network.
-D
Never delay sending data;
enable TCP_NODELAY.
This is appropriate for interactive connections.
-q
Quiet.
Do not print any messages.
-Q
(Default.)
Print error messages.
-v
Verbose.
Print all available messages.
DATA-GATHERING OPTIONS
-h
(Default.)
Look up the remote host name for
TCPREMOTEHOST.
-H
Do not look up the remote host name;
unset
TCPREMOTEHOST.
-llocalname
Do not look up the local host name;
use
localname
for
TCPLOCALHOST.
-r
(Default.)
Attempt to obtain
TCPREMOTEINFO
from the remote host.
-R
Do not attempt to obtain
TCPREMOTEINFO
from the remote host.
-ttimeoutinfo
Give up on the
TCPREMOTEINFO
connection attempt
after
timeoutinfo
seconds. Default: 26.
-4
Fall back to IPv4 sockets. This is necessary for terminally broken
systems like OpenBSD which will not let IPv6 sockets connect to
V4-mapped IPv6 addresses. Please note that this also applies to DNS
lookups, so you will have to use an DNS resolver with an IPv6 address to
connect to IPv6 systems. Use DNSCACHEIP to set the DNS resolver
IP dynamically.
-6
Force IPv6 mode in UCSPI environment variables, even for
IPv4 connections. This will set $PROTO to TCP6 and put
IPv4-mapped IPv6 addresses in TCPLOCALIP and TCPREMOTEIP.