--- /dev/null
+\chapter{Socket TCP elementari}
+\label{cha:elem_TCP_sock}
+
+In questo capitolo inizieremo ad approndire la conoscenza dei socket TCP,
+tratteremo qui dunque il funzionamento delle varie funzioni che si sono usate
+nei due esempi elementari forniti in precedenza (vedi \ref{sec:net_cli_sample}
+e \ref{sec:net_cli_server}), previa una descrizione delle principali
+caratteristiche del funzionamento di una connessione TCP.
+
+La seconda parte del capitolo sarà poi dedicata ad una riscrittura
+dell'esempio precedente per trasformarlo in una prima applicazione
+client/server semplice, ma completa, che implementi il servizio standard
+\texttt{time} su TCP (vedremo in seguito un esempio anche con UDP).
+
+
+\section{Il funzionamento di una connessione TCP}
+\label{sec:TCPel_connession}
+
+Prima di entrare nei dettagli di come si usano le varie funzioni dei socket
+che operano con TCP, è fondamentale capire alcune basi del funzionamento del
+protocollo, ed in particolare su come si stabilisce una connessione, come la
+si conclude e qual'è il significato dei vari stati del protocollo ad essa
+connessi; in particolare questo ci permetterà di capire ed usare con profitto
+il programma \texttt{netstat}, che è in grado di mostrare lo stato in cui si
+trova ciascuna connessione attiva.
+
+\subsection{Creazione: il \textit{three way handshake}}
+\label{sec:TCPel_conn_cre}
+
+
+
+\subsection{Il significato delle opzioni del TCP}
+\label{sec:TCPel_TCP_opt}
+
+\subsection{La terminazione della connessione}
+\label{sec:TCPel_conn_term}
+
+\subsection{Il diagramma delle transizioni di stato}
+\label{sec:TCPel_trans_dia}
+
+\subsection{Lo stato \texttt{TIME\_WAIT}}
+\label{sec:TCPel_time_wait}
+
+
+\section{I numeri di porta}
+\label{sec:TCPel_ports}
+
+\section{Le funzioni dei socket TCP}
+\label{sec:TCPel_functions}
+
+\subsection{La funzione \texttt{connect}}
+\label{sec:TCPel_func_connect}
+
+\subsection{La funzione \texttt{bind}}
+\label{sec:TCPel_func_bind}
+
+\subsection{La funzione \texttt{listen}}
+\label{sec:TCPel_func_listen}
+
+\subsection{La funzione \texttt{connect}}
+\label{sec:TCPel_func_connect}
+
+\subsection{La funzione \texttt{accept}}
+\label{sec:TCPel_func_accept}
+
+
+\subsection{Le porte}
+
+
+
arrivati alla fine del file e pertanto si ritorna senza aver concluso la
lettura di tutti i bytes richiesti.
-
-
-\chapter{Socket TCP elementari}
-\label{cha:elem_TCP_sock}
-
-In questo capitolo esamineremo i vari dettagli necessari per capire il
-funzionamento dei socket TCP, partendo dai due esempi elementari visti in
-precedenza (vedi \ref{sec:net_cli_sample} e \ref{sec:net_cli_server}), per
-arrivare a scrivere una semplice applicazione client/server completa
-(l'implementazione del servizio \texttt{time} su TCP).
-
-Tratteremo qui dunque il funzionamento delle varie funzioni che si sono usate
-nell'esempio precedente e daremo una descrizione delle principali
-caratteristiche del funzionamento di una connessione TCP.
-
-\section{Il funzionamento di una connessione TCP}
-\label{sec:TCPel_connession}
-
-Prima di entrare nei dettagli del funzionamento delle funzioni della
-interfaccia dei socket che operano con TCP (\texttt{connect}, \texttt{accept},
-\texttt{close}) è fondamentale capire alcune basi del funzionamento di una
-connessione TCP, in particolare su come la si stabilisce e come la si
-conclude e sul diagramma degli stati del TCP.
-
-\subsection{Creazione: il \textit{three way handshake}}
-\label{sec:TCPel_conn_cre}
-
-\subsection{Il significato delle opzioni del TCP}
-\label{sec:TCPel_TCP_opt}
-
-\subsection{La terminazione della connessione}
-\label{sec:TCPel_conn_term}
-
-\subsection{Il diagramma delle transizioni di stato}
-\label{sec:TCPel_trans_dia}
-
-\subsection{Lo stato \texttt{TIME\_WAIT}}
-\label{sec:TCPel_time_wait}
-
-
-\section{I numeri di porta}
-\label{sec:TCPel_ports}
-
-\section{Le funzioni dei socket TCP}
-\label{sec:TCPel_functions}
-
-\subsection{La funzione \texttt{connect}}
-\label{sec:TCPel_func_connect}
-
-\subsection{La funzione \texttt{bind}}
-\label{sec:TCPel_func_bind}
-
-\subsection{La funzione \texttt{listen}}
-\label{sec:TCPel_func_listen}
-
-\subsection{La funzione \texttt{connect}}
-\label{sec:TCPel_func_connect}
-
-\subsection{La funzione \texttt{accept}}
-\label{sec:TCPel_func_accept}
-
-
-\subsection{Le porte}
-
-
-