Piccole aggiunte rimaste indietro
authorSimone Piccardi <piccardi@gnulinux.it>
Mon, 28 Mar 2005 22:56:40 +0000 (22:56 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Mon, 28 Mar 2005 22:56:40 +0000 (22:56 +0000)
sockctrl.tex

index 89c3bfce0cc97af6007417a308ab8a1f0e5e34eb..1d7df3884d657ecfd1e8cbc7a277afaeafc23156 100644 (file)
@@ -2261,7 +2261,7 @@ allora il seguente:
   Come Stevens sottolinea in \cite{UNP1} si distinguono quattro casi per
   l'utilizzo di questa opzione; il primo è quello in cui un server è terminato
   ma esistono ancora dei processi figli che mantengono attiva almeno una
   Come Stevens sottolinea in \cite{UNP1} si distinguono quattro casi per
   l'utilizzo di questa opzione; il primo è quello in cui un server è terminato
   ma esistono ancora dei processi figli che mantengono attiva almeno una
-  connessione remota che utilizza l'indirizzo locale; quando si riavvia il
+  connessione remota che utilizza l'indirizzo locale. Quando si riavvia il
   server questo viene bloccato sulla chiamata a \func{bind} dato che la porta
   è ancora utilizzata in una connessione esistente.\footnote{questa è una
     delle domande più frequenti sui newsgroup dedicati allo sviluppo, in
   server questo viene bloccato sulla chiamata a \func{bind} dato che la porta
   è ancora utilizzata in una connessione esistente.\footnote{questa è una
     delle domande più frequenti sui newsgroup dedicati allo sviluppo, in
@@ -2301,13 +2301,19 @@ allora il seguente:
     binding}.
 
   Il terzo impiego è simile al precedente e prevede l'uso di \func{bind}
     binding}.
 
   Il terzo impiego è simile al precedente e prevede l'uso di \func{bind}
-  all'interno dello stesso programma per associare indirizzi diversi a socket
-  diversi. Il meccanismo funziona fintanto che ciascuna chiamata usa degli
-  indirizzi remoti diversi. In genere questo viene fatto per i socket UDP, per
-  ottenere l'indirizzo remoto, sui sistemi per i quali non è diponibile
-  l'opzione \const{IP\_RECVDSTADDR}, non viene usata per TCP dato che su tali
-  socket si può sempre invocare \func{getsockname} una volta che si è
-  completata la connessione.
+  all'interno dello stesso programma per associare indirizzi locali diversi a
+  socket diversi. In genere questo viene fatto per i socket UDP quando è
+  necessario ottenere l'indirizzo a cui sono rivolte le richieste del client
+  ed il sistema non supporta l'opzione \const{IP\_RECVDSTADDR};\footnote{nel
+    caso di Linux questa opzione è stata supportata per in certo periodo nello
+    sviluppo del kernel 2.1.x, ma è in seguito stata soppiantata dall'uso di
+    \const{IP\_PKTINFO} (vedi sez.~\ref{sec:sock_ipv4_options}).} in tale modo
+  si può sapere a quale socket corrisponde un certo indirizzo.  Non ha senso
+  per socket TCP dato che su di essi si può sempre invocare \func{getsockname}
+  una volta che si è completata la connessione.
+
+  Infine il quarto caso è quello in si vuole effettivamente ottenere un
+  \textit{completely duplicate binding} 
 
 
 \item[\const{SO\_TYPE}] questa opzione permette di leggere il tipo di socket
 
 
 \item[\const{SO\_TYPE}] questa opzione permette di leggere il tipo di socket
@@ -2345,7 +2351,7 @@ allora il seguente:
   di byte. Il valore di default ed il valore massimo che si può specificare
   come argomento per questa opzione sono impostabili tramiti gli opportuni
   valori di \func{sysctl} (vedi sez.~\ref{sec:sock_sysctl}).
   di byte. Il valore di default ed il valore massimo che si può specificare
   come argomento per questa opzione sono impostabili tramiti gli opportuni
   valori di \func{sysctl} (vedi sez.~\ref{sec:sock_sysctl}).
-
+   
 
 \item[\const{SO\_LINGER}] 
 
 
 \item[\const{SO\_LINGER}]