SOCKET(1)                   General Commands Manual                  SOCKET(1)

       socket - create a TCP or a UNIX domain socket and connect to stdin/out

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

       Socket  creates  an  Internet domain TCP or a UNIX domain stream socket
       and connects it to stdin and stdout.   The  host  argument  can  be  an
       Internet  number  in  dot-notation (like ``'') 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).   If  an  UNIX  domain socket is wanted to be created
       instead of an Internet socket, specify the path instead of an  internet
       (canonical  domain named or dot-notated) host.  The hostname is treated
       as a pathname if contains at least a single slash. I.e. if one wants to
       create  or connect to a socket in the current directory, use ./filename
       to specify the connection point.

       -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 mak-
              ing 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 stan-
              dard 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
              of Internet sockets, only the port  number  but  a  pathname  is
              required for UNIX domain sockets.

       -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 out-

              Socket prints its version ID and terminates.  This must  be  the
              first argument to have an effect.

       The command

              socket -v nntp

       connects   to   the   nntp  port  (port  119)  of
       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
       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 con-
       dition at the standard output of the program  occurs.  Then a new  con-
       nection is accepted.

       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,

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

       ip(7),  tcp(7),  unix(7),  accept(2),  bind(2),  listen(2), connect(2),
       socket(2), gethostbyname(3), getservbyname(3)

       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.

       This manual page describes Socket-1.1.

       Juergen Nickelsen <>

                                 Aug  6, 1992                        SOCKET(1)

Man(1) output converted with man2html
list of all man pages