summaryrefslogtreecommitdiff
path: root/doc/s6-tcpserver6-socketbinder.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/s6-tcpserver6-socketbinder.html')
-rw-r--r--doc/s6-tcpserver6-socketbinder.html82
1 files changed, 0 insertions, 82 deletions
diff --git a/doc/s6-tcpserver6-socketbinder.html b/doc/s6-tcpserver6-socketbinder.html
deleted file mode 100644
index 5bb2ae5..0000000
--- a/doc/s6-tcpserver6-socketbinder.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html>
- <head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <meta http-equiv="Content-Language" content="en" />
- <title>s6-networking: the s6-tcpserver6-socketbinder program</title>
- <meta name="Description" content="s6-networking: the s6-tcpserver6-socketbinder program" />
- <meta name="Keywords" content="s6-networking s6-tcpserver6-socketbinder tcpserver ucspi inet ipv6 socket bind listen" />
- <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> -->
- </head>
-<body>
-
-<p>
-<a href="index.html">s6-networking</a><br />
-<a href="//skarnet.org/software/">Software</a><br />
-<a href="//skarnet.org/">skarnet.org</a>
-</p>
-
-<h1> The <tt>s6-tcpserver6-socketbinder</tt> program </h1>
-
-<p>
-<tt>s6-tcpserver6-socketbinder</tt> binds an INET domain
-socket to an IPv6 address and port, then executes a program.
-</p>
-
-<h2> Interface </h2>
-
-<pre>
- s6-tcpserver6-socketbinder [ -d | -D ] [ -b <em>backlog</em> ] [ -M | -m ] [ -B ] <em>ip</em> <em>port</em> <em>prog...</em>
-</pre>
-
-<ul>
- <li> s6-tcpserver6-socketbinder creates an TCP socket
-and binds it to IPv6 address <em>ip</em>, port <em>port</em>.
-It prepares the socket to accept connections by calling
-<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/listen.html">listen()</a>. </li>
- <li> It then execs into <em>prog...</em> with the open socket
-as its standard input. </li>
-</ul>
-
-<h2> Options </h2>
-
-<ul>
- <li> <tt>-d</tt>&nbsp;: allow instant rebinding to the same IP and port
-even if it has been used not long ago - this is the SO_REUSEADDR flag to
-<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/setsockopt.html">setsockopt()</a>
-and is generally used with server programs. This is the default. </li>
- <li> <tt>-D</tt>&nbsp;: disallow instant rebinding to the same path. </li>
- <li> <tt>-b&nbsp;<em>backlog</em></tt>&nbsp;: set a maximum of
-<em>backlog</em> backlog connections on the socket - extra
-connection attempts will rejected by the kernel. The default is SOMAXCONN,
-i.e. the maximum number allowed by the system. If <em>backlog</em>
-is 0, then the socket will be created, but it <strong>will not be
-listening</strong>. </li>
- <li> <tt>-M</tt>&nbsp;: create a TCP socket. This is the default. </li>
- <li> <tt>-m</tt>&nbsp;: create a UDP socket. Note
-that by default UDP sockets are not connection-mode, and <tt>listen()</tt>
-will fail - so you should always give the <tt>-b0</tt> option to
-s6-tcpserver6-socketbinder along with <tt>-m</tt>. </li>
- <li> <tt>-B</tt>&nbsp;: create a blocking socket. Default is non-blocking. </li>
-</ul>
-
-<h2> Notes </h2>
-
-<ul>
- <li> The socket is provided <strong>non-blocking by default</strong>. </li>
- <li> s6-tcpserver6-socketbinder is part of a set of basic blocks used to
-build a flexible TCP/IPv6 super-server. It normally should be given a
-command line crafted to make it execute into
-<a href="s6-tcpserver6d.html">s6-tcpserver6d</a> to accept connections
-from clients, or into a program such as
-<a href="//skarnet.org/software/s6/s6-applyuidgid.html">s6-applyuidgid</a>
-to drop privileges before doing so. </li>
- <li> The <a href="s6-tcpserver6.html">s6-tcpserver6</a> program does
-exactly this. It implements
-a full TCP/IPv6 super-server by building a command line starting with
-s6-tcpserver6-socketbinder and ending with s6-tcpserver6d followed by the
-application program, and executing into it. </li>
-</ul>
-
-</body>
-</html>