Reindicizzate alcune macro, messa sezione sulle opzioni di IP, risistemata
[gapil.git] / tcpsock.tex
index 1c55fd300bfb1e32fd01f05e009ebee59c4cbbd8..7fa55073608f878586e2ee15a8addfe46975a0ba 100644 (file)
@@ -86,12 +86,12 @@ si 
 stabilisce la connessione.
 
 % Una analogia citata da R. Stevens per la connessione TCP è quella con il
-% sistema del telefono. La funzione \texttt{socket} può essere considerata
-% l'equivalente di avere un telefono. La funzione \texttt{bind} è analoga al
+% sistema del telefono. La funzione \func{socket} può essere considerata
+% l'equivalente di avere un telefono. La funzione \func{bind} è analoga al
 % dire alle altre persone qual è il proprio numero di telefono perché possano
-% chiamare. La funzione \texttt{listen} è accendere il campanello del telefono
-% per sentire le chiamate in arrivo.  La funzione \texttt{connect} richiede di
-% conoscere il numero di chi si vuole chiamare. La funzione \texttt{accept} è
+% chiamare. La funzione \func{listen} è accendere il campanello del telefono
+% per sentire le chiamate in arrivo.  La funzione \func{connect} richiede di
+% conoscere il numero di chi si vuole chiamare. La funzione \func{accept} è
 % quando si risponde al telefono.
 
 \begin{figure}[htb]
@@ -271,7 +271,7 @@ passiva 
 stato \texttt{LISTEN} in cui vengono accettate le connessioni.
 
 Dallo stato \texttt{ESTABLISHED} si può uscire in due modi; se un'applicazione
-chiama la funzione \texttt{close} prima di aver ricevuto un
+chiama la funzione \func{close} prima di aver ricevuto un
 \textit{end-of-file} (chiusura attiva) la transizione è verso lo stato
 \texttt{FIN\_WAIT\_1}; se invece l'applicazione riceve un FIN nello stato
 \texttt{ESTABLISHED} (chiusura passiva) la transizione è verso lo stato
@@ -641,7 +641,7 @@ precedente in sez.~\ref{sec:sock_socket}.
 La funzione \funcd{bind} assegna un indirizzo locale ad un
 socket.\footnote{nel nostro caso la utilizzeremo per socket TCP, ma la
   funzione è generica e deve essere usata per qualunque tipo di socket
-  \texttt{SOCK\_STREAM} prima che questo possa accettare connessioni.} È usata
+  \const{SOCK\_STREAM} prima che questo possa accettare connessioni.} È usata
 cioè per specificare la prima parte dalla socket pair.  Viene usata sul lato
 server per specificare la porta (e gli eventuali indirizzi locali) su cui poi
 ci si porrà in ascolto. Il prototipo della funzione è il seguente:
@@ -754,10 +754,10 @@ staticamente a \const{IN6ADRR\_LOOPBACK\_INIT}.
 La funzione \funcd{connect} è usata da un client TCP per stabilire la
 connessione con un server TCP,\footnote{di nuovo la funzione è generica e
   supporta vari tipi di socket, la differenza è che per socket senza
-  connessione come quelli di tipo \texttt{SOCK\_DGRAM} la sua chiamata si
+  connessione come quelli di tipo \const{SOCK\_DGRAM} la sua chiamata si
   limiterà ad impostare l'indirizzo dal quale e verso il quale saranno inviati
-  e ricevuti i pacchetti, mentre per socket di tipo \texttt{SOCK\_STREAM} o
-  \texttt{SOCK\_SEQPACKET}, essa attiverà la procedura di avvio (nel caso del
+  e ricevuti i pacchetti, mentre per socket di tipo \const{SOCK\_STREAM} o
+  \const{SOCK\_SEQPACKET}, essa attiverà la procedura di avvio (nel caso del
   TCP il \index{\textit{three~way~handshake}}\textit{three way handshake})
   della connessione.}  il prototipo della funzione è il seguente:
 \begin{prototype}{sys/socket.h}
@@ -864,8 +864,8 @@ necessario effettuare una \func{bind}.
 La funzione \funcd{listen} serve ad usare un socket in modalità passiva, cioè,
 come dice il nome, per metterlo in ascolto di eventuali
 connessioni;\footnote{questa funzione può essere usata con socket che
-  supportino le connessioni, cioè di tipo \texttt{SOCK\_STREAM} o
-  \texttt{SOCK\_SEQPACKET}.} in sostanza l'effetto della funzione è di portare
+  supportino le connessioni, cioè di tipo \const{SOCK\_STREAM} o
+  \const{SOCK\_SEQPACKET}.} in sostanza l'effetto della funzione è di portare
 il socket dallo stato \texttt{CLOSED} a quello \texttt{LISTEN}. In genere si
 chiama la funzione in un server dopo le chiamate a \func{socket} e \func{bind}
 e prima della chiamata ad \func{accept}. Il prototipo della funzione, come
@@ -992,8 +992,8 @@ trasparente dal protocollo TCP.
 La funzione \funcd{accept} è chiamata da un server per gestire la connessione
 una volta che sia stato completato il \textit{three way
   handshake},\footnote{la funzione è comunque generica ed è utilizzabile su
-  socket di tipo \texttt{SOCK\_STREAM}, \texttt{SOCK\_SEQPACKET} e
-  \texttt{SOCK\_RDM}.} la funzione restituisce un nuovo socket descriptor su
+  socket di tipo \const{SOCK\_STREAM}, \const{SOCK\_SEQPACKET} e
+  \const{SOCK\_RDM}.} la funzione restituisce un nuovo socket descriptor su
 cui si potrà operare per effettuare la comunicazione. Se non ci sono
 connessioni completate il processo viene messo in attesa. Il prototipo della
 funzione è il seguente:
@@ -1406,7 +1406,7 @@ marcare dei blocchi di dati, per cui se questo 
 programma stesso.
 
 Se abilitiamo il servizio \textit{daytime}\footnote{in genere questo viene
-  fornito direttamente dal \textsl{superdemone} \texttt{inetd}, pertanto basta
+  fornito direttamente dal \textsl{superdemone} \cmd{inetd}, pertanto basta
   assicurarsi che esso sia abilitato nel relativo file di configurazione.}
 possiamo verificare il funzionamento del nostro client, avremo allora:
 \begin{verbatim}
@@ -1705,7 +1705,7 @@ sez.~\ref{sec:sock_io_behav}, per scrivere i dati sul socket, gestendo
 automaticamente l'invio multiplo qualora una singola \func{write} non sia
 sufficiente.  I dati vengono riletti indietro (\texttt{\small 7}) con una
 \func{read}\footnote{si è fatta l'assunzione implicita che i dati siano
-  contenuti tutti in un solo segmento, così che la chiamata a \texttt{read} li
+  contenuti tutti in un solo segmento, così che la chiamata a \func{read} li
   restituisca sempre tutti; avendo scelto una dimensione ridotta per il buffer
   questo sarà sempre vero, vedremo più avanti come superare il problema di
   rileggere indietro tutti e soli i dati disponibili, senza bloccarsi.} sul