+Si tenga presente che non tutte le combinazioni di famiglia di protocolli e
+tipo di socket sono valide, in quanto non è detto che nella famiglia esista un
+protocollo per tutti gli stili di comunicazione indicati qui sopra. Una
+tabella che mostra le combianazioni valide è la seguente:
+
+\begin{table}[htb]
+ \footnotesize
+ \centering
+ \begin{tabular}{l|c|c|c|c|c|}
+ &\multicolumn{1}{c}{\texttt{SOCK\_STREAM}}&
+ \multicolumn{1}{c}{\texttt{SOCK\_DGRAM}} &
+ \multicolumn{1}{c}{\texttt{SOCK\_RAW}} &
+ \multicolumn{1}{c}{\texttt{SOCK\_PACKET}}&
+ \multicolumn{1}{c}{\texttt{SOCK\_SEQPACKET}} \\
+ \texttt{PF\_UNIX} & si & si & & & \\
+ \texttt{PF\_INET} & TCP & UDP & IPv4 & & \\
+ \texttt{PF\_INET6} & TCP & UDP & IPv6 & & \\
+ \texttt{PF\_IPX} & ? & & & & \\
+ \texttt{PF\_NETLINK} & & & si & & \\
+ \texttt{PF\_X25} & & & & & \\
+ \texttt{PF\_AX25} & & & & & \\
+ \texttt{PF\_ATMPVC} & ? & & & & \\
+ \texttt{PF\_APPLETALK} & ? & & & & \\
+ \texttt{PF\_PACKET} & & & & & \\
+ \end{tabular}
+ \caption{Combinazioni valide di dominio e tipo di protocollo per la funzione \texttt{socket}.}
+ \label{tab:sock_sock_valid_combinations}
+\end{table}
+
+
+
+\section{Le strutture degli indirizzi}
+\label{sec:sock_sockaddr}
+
+La gran parte dei
+
+
+\section{Le funzioni di conversione degli indirizzi}
+\label{sec:sock_addr_conv}
+
+
+
+
+
+
+
+
+\chapter{Socket TCP elementari}
+\label{cha:elem_TCP_sock}
+
+Esamineremo in questo capitolo quanto necessario per capire come scrivere un
+client e un server TCP, riprendendo quanto visto in \ref{sec:net_cli_sample} e
+\ref{sec:net_cli_server}.
+
+
+
+\subsection{Creazione e terminazione della connessione TCP}
+
+Per capire il funzionamento delle funzioni della interfaccia dei socket che
+operano con TCP (le varie \texttt{connect}, \texttt{accept}, \texttt{close}
+che abbiamo visto negli esempi iniziali e su cui torneremo più avatni) è
+fodamentale capire come funziona la creazione e la conclusione di una
+connessione TCP.