Corretto titolo della sezione IPC, e iniziato a scrivere funzione generica
[gapil.git] / sockctrl.tex
index 62fd3d7037692a521a027423fa3d9f40f293cf9a..b4b229e3d36a761ba65ff961c6327b5a0c24f1ab 100644 (file)
@@ -1538,7 +1538,7 @@ nello stesso ordine in cui vengono inviati dal server DNS. In particolare
 nulla garantisce che vengano forniti prima i dati relativi ai servizi di un
 determinato protocollo o tipo di socket, se ne sono presenti di diversi.  Se
 allora utilizziamo il nostro programma potremo verificare il risultato:
-\begin{verbatim}
+\begin{Verbatim}
 [piccardi@gont sources]$ ./mygetaddr -c  gapil.truelite.it echo
 Canonical name sources2.truelite.it
 IPv4 address:
@@ -1549,7 +1549,7 @@ IPv4 address:
         Indirizzo 62.48.34.25
         Protocollo 17
         Porta 7
-\end{verbatim}
+\end{Verbatim}
 %$
 
 Una volta estratti i risultati dalla \textit{linked list} puntata da
@@ -1650,14 +1650,25 @@ indirizzi indicati dagli argomenti \param{host} e \param{serv} come stringhe
 terminate dal carattere NUL, a meno che queste non debbano essere troncate
 qualora la loro dimensione ecceda quelle specificate dagli argomenti
 \param{hostlen} e \param{servlen}. Sono comunque definite le due costanti
-\const{NI\_MAXHOST} e \const{NI\_MAXSERV}\footnote{le due costanti sono
-  definite in \file{netdb.h} ed hanno rispettivamente il valore 1024 e 12.}
-che possono essere utilizzate come limiti massimi.  In caso di errore viene
-restituito invece un codice che assume gli stessi valori illustrati in
+\const{NI\_MAXHOST} e \const{NI\_MAXSERV}\footnote{in Linux le due costanti
+  sono definite in \file{netdb.h} ed hanno rispettivamente il valore 1024 e
+  12.}  che possono essere utilizzate come limiti massimi.  In caso di errore
+viene restituito invece un codice che assume gli stessi valori illustrati in
 tab.~\ref{tab:addrinfo_error_code}.
 
 A questo punto possiamo fornire degli esempi di utilizzo diretto della nuova
-interfaccia, adottandola per rendere i nostri client 
+interfaccia, adottandola per le precedenti implementazioni del client e del
+server per il servizio \textit{echo}; dato che l'uso delle funzioni (in
+particolare di \func{getaddrinfo} è piuttosto complesso, prevedendo una
+impostazione manuale dell'argomento \param{hints}, provvederemo una
+interfaccia semplificata per i due casi visti finora, quello in cui si
+specifica nel client un indirizzo remoto per la connessione al server, e
+quello in cui si specifica nel server un indirizzo locale su cui porsi in
+ascolto.
+
+La prima funzione è allora \func{sockconn}, che richiede la risoluzione di un
+indirizzo e di un servizio per connettere un socket allo stesso. 
+
 
 
 \section{Le opzioni dei socket}