man socket (Commandes) - create tcp socket and connect to stdin/out

NAME

socket - create tcp socket and connect to stdin/out

SYNOPSIS

socket [ -bcfqrvw ] [ -p command ] [ -B local address ] host port

socket [ -bcfqrvw ] [ -p command ] [ -B local address ] -s [ -l ] port

DESCRIPTION

Socket creates an Internet domain TCP socket and connects it to stdin and stdout. The host argument can be an Internet number in dot-notation (like ``130.149.28.10'') or a domain name. In this case it must be possible to resolve the name to a valid Internet address with gethostbyname(3). The port argument can be a port number or a service name which can be mapped to a port number by getservbyname(3).

OPTIONS

-b (background)
The program forks itself into the background, detaches from its controlling tty, closes the file descriptors associated with the tty, and changes its current directory to the root directory.
-B (local address)
This option specifies which local address to binded to when making a connection.
-c (crlf)
Linefeed characters (LF) are converted to a Carriage Return Linefeed sequence (CRLF) when written to the socket. CRLF sequences read from the socket are converted to a single LF.
-f (fork)
When a server connection has been accepted, a separate process is forked to handle the connection in background.
-l (loop)
(only valid with -s) After a connection has been closed, another connection is accepted.
-p (program)
The specified command is executed for each connection. Its standard input, standard output, and standard error channels are connected to the socket. Command can be any shell command since it is passed to /bin/sh.
-q (quit)
The connection is closed when an end-of-file condition occurs on standard input.
-r (read only)
No data is read from standard input and written to the socket.
-s (server)
A server socket is created. A hostname argument is not required.
-v (verbose)
Messages about connections etc. are issued to stderr.
-w (write only)
No data is read from the socket and written to the standard output.
-version
Socket prints its version ID and terminates. This must be the first argument to have an effect.

EXAMPLES

The command

socket -v coma.cs.tu-berlin.de nntp

connects to the nntp port (port 119) of coma.cs.tu-berlin.de (130.149.28.10).

The command

socket -sl 3425

creates a server socket on port 3425 on the local host and waits for a connection. After a connection has been closed, a new connection is accepted.

The command

socket -wslqvp "echo Socket! " 1938

creates a server socket on port 1938 on the local host and waits for a connection. When a connection is accepted, the string "Socket!" is written to the socket. No data is read from the socket and written to the finger program. The connection is closed when an end-of-file condition at the standard output of the program occurs. Then a new connection is accepted.

DIAGNOSTICS

Lots of diagnostics for failed system calls.

unknown host host
host's address could not be resolved.
Signal signal caught, exiting
Socket exits on any signal other than SIGTSTP, SIGCONT, SIGCLD, SIGQUIT.

A non-zero exit code is returned if socket terminates due to an error condition or a signal.

SEE ALSO

BUGS

socket -p terminates due to a SIGPIPE signal when there is more data from the socket available than the executed program wants to read.

Please report any other bugs to the author.

VERSION

This manual page describes Socket-1.1.

AUTHOR

Juergen Nickelsen <nickel@cs.tu-berlin.de>