From: Simone Piccardi Date: Mon, 28 Mar 2005 22:56:40 +0000 (+0000) Subject: Piccole aggiunte rimaste indietro X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=commitdiff_plain;h=00ba3813c348bc3b50702bb91ae92b7d7cf5d83a Piccole aggiunte rimaste indietro --- diff --git a/sockctrl.tex b/sockctrl.tex index 89c3bfc..1d7df38 100644 --- a/sockctrl.tex +++ b/sockctrl.tex @@ -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 - 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 @@ -2301,13 +2301,19 @@ allora il seguente: 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 @@ -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}). - + \item[\const{SO\_LINGER}]