SYNOPSIS
tcpserver [ opts ] host port prog
DESCRIPTION
opts is a series of getopt-style options. host is one argument. port
is one argument. prog consists of one or more arguments.
tcpserver waits for connections from TCP clients. For each connection,
it runs prog, with descriptor 0 reading from the network and descriptor
1 writing to the network. It also sets up several environment vari-
ables.
The server's address is given by host and port. port may be a name
from /etc/services or a number; if it is 0, tcpserver will choose a
free TCP port. host may be 0, allowing connections to any local IP
address; or a dotted-decimal IP address, allowing connections only to
that address; or a host name, allowing connections to the first IP
address for that host. Host names are fed through qualification using
dns_ip4_qualify.
tcpserver exits when it receives SIGTERM.
OPTIONS
General options:
-q Quiet. Do not print error messages.
-Q (Default.) Print error messages.
-v Verbose. Print error messages and status messages.
Connection options:
-c n Do not handle more than n simultaneous connections. If there are
n simultaneous copies of prog running, defer acceptance of a new
connection until one copy finishes. n must be a positive inte-
ger. Default: 40.
-x cdb Follow the rules compiled into cdb by tcprules(1). These rules
may specify setting environment variables or rejecting connec-
tions from bad sources. You can rerun tcprules(1) to change the
rules while tcpserver is running.
-X With -x cdb, allow connections even if cdb does not exist. Nor-
mally tcpserver will drop the connection if cdb does not exist.
-B banner
Write banner to the network immediately after each connection is
made. tcpserver writes banner before looking up $TCPREMOTEHOST,
before looking up $TCPREMOTEINFO, and before checking cdb. This
feature can be used to reduce latency in protocols where the
client waits for a greeting from the server.
is silently limited to 5. On systems supporting SYN cookies, the
backlog is irrelevant.
-o Leave IP options alone. If the client is sending packets along
an IP source route, send packets back along the same route.
-O (Default.) Kill IP options. A client can still use source rout-
ing to connect and to send data, but packets will be sent back
along the default route.
-d Delay sending data for a fraction of a second whenever the
remote host is responding slowly. This is currently the default,
but it may not be in the future; if you want it, set it explic-
itly.
-D Never delay sending data; enable TCP_NODELAY.
Data-gathering options:
-h (Default.) Look up the remote host name in DNS to set the envi-
ronment variable $TCPREMOTEHOST.
-H Do not look up the remote host name in DNS; remove the environ-
ment variable $TCPREMOTEHOST. To avoid loops, you must use this
option for servers on TCP port 53.
-p Paranoid. After looking up the remote host name in DNS, look up
the IP addresses in DNS for that host name, and remove the envi-
ronment variable $TCPREMOTEHOST if none of the addresses match
the client's IP address.
-P (Default.) Not paranoid.
-l localname
Do not look up the local host name in DNS; use localname for the
environment variable $TCPLOCALHOST. A common choice for local-
name is 0. To avoid loops, you must use this option for servers
on TCP port 53.
-r (Default.) Attempt to obtain $TCPREMOTEINFO from the remote
host.
-R Do not attempt to obtain $TCPREMOTEINFO from the remote host. To
avoid loops, you must use this option for servers on TCP ports
53 and 113.
-t n Give up on the $TCPREMOTEINFO connection attempt after n sec-
onds. Default: 26.
SEE ALSO
tcprules(1), tcprulescheck(1), argv0(1), fixcrio(1), recordio(1),
rblsmtpd(1), tcpclient(1), who@(1), date@(1), finger@(1), http@(1),
Man(1) output converted with
man2html