From c6459d309753df19925aa2c95028d077b7f6ffd6 Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Sun, 26 Mar 2006 17:49:38 +0000 Subject: [PATCH] Correzioni sparse, con un po' di controllo ortografico. --- sockadv.tex | 54 ++++++++++++++++++----------------------------------- socket.tex | 17 +++++++++-------- 2 files changed, 27 insertions(+), 44 deletions(-) diff --git a/sockadv.tex b/sockadv.tex index c955454..e4b0e2c 100644 --- a/sockadv.tex +++ b/sockadv.tex @@ -11,27 +11,24 @@ \chapter{Socket avanzati} \label{cha:advanced_socket} -Esamineremo in questo capitolo le funzionalità più evolute della gestione dei -socket TCP, come l'uso del I/O multiplexing (trattato in -sez.~\ref{sec:file_multiplexing}) con i socket, l'uso delle opzioni dei socket -e la gestione dei dati urgenti e \textit{out-of-band}. +Esamineremo in questo capitolo le funzionalità più evolute della gestione dei +socket, le funzioni avanzate, la gestione dei dati urgenti e +\textit{out-of-band} e dei messaggi ancillari, come l'uso come l'uso del I/O +multiplexing (vedi sez.~\ref{sec:file_multiplexing}) con i socket. \section{Le funzioni di I/O avanzate} \label{sec:sock_advanced_IO} -Trattereno in questa sezione le funzioni di I/O più avanzate che permettono di +Tratterremo in questa sezione le funzioni di I/O più avanzate che permettono di controllare le funzionalità specifiche della comunicazione dei dati che sono disponibili con i vari tipi di socket. - - -\subsection{La fuzioni \func{sendmsg} e \func{recvmsg}} +\subsection{La funzioni \func{sendmsg} e \func{recvmsg}} \label{sec:net_sendmsg} - Finora abbiamo trattato delle funzioni che permettono di inviare dati sul socket in forma semplificata. Se infatti si devono semplicemente ... @@ -40,9 +37,6 @@ socket in forma semplificata. Se infatti si devono semplicemente ... \subsection{I messaggi ancillari} \label{sec:net_ancillary_data} - - - Quanto è stata attivata l'opzione \const{IP\_RECVERR} il kernel attiva per il socket una speciale coda su cui vengono inviati tutti gli errori riscontrati. Questi possono essere riletti usando il flag \const{MSG\_ERRQUEUE}, nel qual @@ -65,28 +59,6 @@ fig.~\ref{fig:sock_extended_err_struct}. -\subsection{La gestione delle opzioni IP} -\label{sec:sock_IP_options} - - -Abbiamo visto in sez.~\ref{sec:sock_ipv4_options} come di possa usare -\func{setsockopt} con l'opzione \const{IP\_OPTIONS} per impostare le opzioni -IP associate per i pacchetti associati ad un socket. - - - - - - - - - - - - - - - \subsection{I dati \textit{out-of-band}} \label{sec:TCP_urgent_data} @@ -97,17 +69,27 @@ cosiddetti dati \textit{out-of-band} ... \section{L'uso dell'I/O non bloccante} \label{sec:sock_noblok_IO} -Trattereno in questa sezione le modalità avanzate che permettono di utilizzare +Tratterremo in questa sezione le modalità avanzate che permettono di utilizzare i socket con una comunicazione non bloccante, in modo da +\subsection{La gestione delle opzioni IP} +\label{sec:sock_IP_options} + +Abbiamo visto in sez.~\ref{sec:sock_ipv4_options} come di possa usare +\func{setsockopt} con l'opzione \const{IP\_OPTIONS} per impostare le opzioni +IP associate per i pacchetti associati ad un socket. Vedremo qui il +significato di tali opzioni e le modalità con cui esse possono essere +utilizzate ed impostate. %%% Local Variables: %%% mode: latex %%% TeX-master: "gapil" -%%% TeX-master: "gapil" %%% End: + +% LocalWords: socket of multiplexing sez sendmsg recvmsg RECVERR kernel MSG +% LocalWords: ERRQUEUE sock err fig TCP dell'I setsockopt OPTIONS diff --git a/socket.tex b/socket.tex index a0eb579..69a6a3b 100644 --- a/socket.tex +++ b/socket.tex @@ -686,20 +686,21 @@ Il campo \var{sll\_hatype} indica il tipo ARP, come definito in \file{linux/if\_arp.h}, mentre il campo \var{sll\_pkttype} indica il tipo di pacchetto; entrambi vengono impostati alla ricezione di un pacchetto ed han senso solo in questo caso. In particolare \var{sll\_pkttype} può assumere i -seguenti valori: \var{PACKET\_HOST} per un pacchetto indirizzato alla macchina -ricevente, \var{PACKET\_BROADCAST} per un pacchetto di \itindex{broadcast} -\textit{broadcast}, \var{PACKET\_MULTICAST} per un pacchetto inviato ad un -indirizzo fisico di \itindex{multicast} \textit{multicast}, -\var{PACKET\_OTHERHOST} per un pacchetto inviato ad un'altra stazione (e -ricevuto su un'interfaccia in modo promiscuo), \var{PACKET\_OUTGOING} per un -pacchetto originato dalla propria macchina che torna indietro sul socket. +seguenti valori: \const{PACKET\_HOST} per un pacchetto indirizzato alla +macchina ricevente, \const{PACKET\_BROADCAST} per un pacchetto di +\itindex{broadcast} \textit{broadcast}, \const{PACKET\_MULTICAST} per un +pacchetto inviato ad un indirizzo fisico di \itindex{multicast} +\textit{multicast}, \const{PACKET\_OTHERHOST} per un pacchetto inviato ad +un'altra stazione (e ricevuto su un'interfaccia in modo promiscuo), +\const{PACKET\_OUTGOING} per un pacchetto originato dalla propria macchina che +torna indietro sul socket. + Si tenga presente infine che in fase di ricezione, anche se si richiede il troncamento del pacchetto, le funzioni \func{recv}, \func{recvfrom} e \func{recvmsg} (vedi sez.~\ref{sec:net_sendmsg}) restituiranno comunque la lunghezza effettiva del pacchetto così come arrivato sulla linea. - %% \subsection{La struttura degli indirizzi DECnet} %% \label{sec:sock_sa_decnet} -- 2.30.2