A TCP/IP pipe is a user space programme that listens for TCP/IP connections on port on the local host and when a client connects makes a connection to a TCP port, possibly on another host. Once both connections are established data sent on one connection is relayed to the other, hence forming a bi-directional pipe.
Uses include enabling connections to specific ports on hosts behind a packet filter.
This code is intended primarily as an example of how many of the features of libvanessa_socket work.
Maximum number of connections to accept simultaneously. A value of zero sets no limit on the number of simultaneous connections. (default 0)
Turn on verbose debuging to stderr.
Display this message.
Port to listen on. (mandatory)
Address to listen on. May be a hostname or an IP address. If not defined then listen on all local addresses.
Turn off lookup of hostnames and portnames. That is, hosts must be given as IP addresses and ports must be given as numbers.
Define a port to connect to. If not specified -l|--listen_port will be used.
Define host to connect to. May be a hostname or an IP address. (mandatory)
Only log errors. Overriden by -d|--debug.
Idle timeout in seconds. Value of zero sets infinite timeout. (default 1800)
Default value for binary flags is off.
-L|--listen_port and -o|--outgoing_host must be defined.
Simon Horman <firstname.lastname@example.org>