+2003-04-06 Simone Piccardi <piccardi@gont.earthsea.ea>
+
+ * gapil.tex: Correzione all'anno di copyright M. Maischberger, più
+ tutta la "esternalizzazione" dei esempio di codice, ad uso di una
+ migliore conversione per la versione HTML.
+
2003-04-03 Simone Piccardi <piccardi@gont.earthsea.ea>
* gapil.tex: Modifiche al preambolo per utilizzare alcune macro
\label{cha:elem_TCP_sock}
In questo capitolo iniziamo ad approfondire 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
-\secref{sec:net_cli_sample} e \secref{sec:net_serv_sample}), previa una
-descrizione delle principali caratteristiche del funzionamento di una
-connessione TCP.
+tratteremo qui dunque le varie funzioni che si sono usate nei due esempi
+elementari forniti nel capitolo precedente (vedi \secref{sec:net_cli_sample} e
+\secref{sec:net_serv_sample}), previa una descrizione delle principali
+caratteristiche del funzionamento di una connessione TCP.
\section{Il funzionamento di una connessione TCP}
Prima di entrare nei dettagli delle funzioni usate nelle applicazioni che
utilizzano i socket TCP, è fondamentale spiegare alcune basi del funzionamento
del TCP; la conoscenza del funzionamento del protocollo è infatti essenziale
-per capire il modello di programmazione ed il funzionamento delle API.
+per capire il modello di programmazione ed il funzionamento delle interfacce
+di programmazione.
In particolare ci concentreremo sulle modalità con le quali il protocollo dà
inizio e conclude una connessione; faremo inoltre anche un breve accenno al
\begin{quote}
- Copyright \copyright\ 2000-2002 Simone Piccardi. Permission is granted to
+ Copyright \copyright\ 2000-2003 Simone Piccardi. Permission is granted to
copy, distribute and/or modify this document under the terms of the GNU Free
Documentation License, Version 1.1 or any later version published by the
Free Software Foundation; with the Invariant Sections being ``Prefazione'',
</A>
</td>
<td align="center" bgcolor="#dddddd">
- <A target="_parent" HREF="html/index.html">
+ <A target="_parent"
+ HREF="http://www.lilik.it/~mirko/gapil/gapil.html">
<font face="sans-serif" color="darkred">
<b>Versione online</b>
</font>
</p>
</td>
</tr>
+ <tr>
+ <td width="130" valign="top">
+ <b>
+ <font color="#0000aa">
+ Disponibilità
+ </font>
+ </b>
+ </td>
+ <td bgcolor="lightblue">
+ <p>
+ GaPiL nasce come libro e come tale la versione di riferimento è
+ quella in PDF, accessibile nella sezione <A href="stampa.html">
+ <font face="sans-serif"> <b>Download</b> </font></A>. Grazie
+ all'opera di Mirko Maischberger abbiamo anche una bellissima
+ versione HTML, accessibile nella sezione <A
+ href="http://www.lilik.it/~mirko/gapil/gapil.html"> <font
+ face="sans-serif"> <b>On Line</b> </font></A>, finalemente
+ all'altezza della versione stampabile.
+ </p>
+ </td>
+ </tr>
<tr>
<td width="130" valign="top">
<b>
</td>
<td bgcolor="lightblue">
<p>
+ <p>
+ <b>6 - aprile - 2003</b> <br> Grazie all'incredibile lavoro di
+ Mirko Maischberger abbiamo una favolosa versione in HTML, che
+ linko direttamente dalla sua home page. Non finirò mai di
+ ringraziarlo per aver domato htlatex fino a produrre la prima
+ versione di GaPiL realmente consuntabile on line. Con
+ l'occasione è stata completamente revisionata la parte di
+ introduzione alle reti.
+ </p>
<p>
<b>10 - marzo - 2003</b> <br> Completata la memoria condivisa
POSIX, introdotte le relative funzioni di interfaccia,
</A>
</td>
<td align="center" bgcolor="#dddddd">
- <A target="_parent" HREF="html/index.html">
+ <A target="_parent"
+ HREF="http://www.lilik.it/~mirko/gapil/gapil.html">
<font face="sans-serif" color="darkred">
<b>Versione online</b>
</font>
- double pi = 3.14;
+ double pi = 3.14;
\label{fig:sock_FullRead_code}
\end{figure}
-Per questo motivo, seguendo l'esempio di W. R. Stevens in \cite{UNP1}, si sono
+Per questo motivo, seguendo l'esempio di R. W. Stevens in \cite{UNP1}, si sono
definite due funzioni, \func{FullRead} e \func{FullWrite}, che eseguono
lettura e scrittura tenendo conto di questa caratteristica, ed in grado di
ritornare dopo avere letto o scritto esattamente il numero di byte
parte il fatto di essere dipendente da IPv4, esso è in grado di servire solo
un client alla volta, è cioè un \textsl{server iterativo}, inoltre esso è
scritto per essere lanciato da linea di comando, se lo si volesse utilizzare
-come demone di sistema (che è in esecuzione anche quando non c'è nessuna shell
-attiva e il terminale da cui lo si è lanciato è stato sconnesso),
-occorrerebbero delle opportune modifiche.
+come demone di sistema occorrerebbero le opportune modifiche per tener conto
+di quanto illustrato in \secref{sec:sess_daemon}.