X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=simpltcp.tex;fp=simpltcp.tex;h=7d0291f9b66a353f25359857a0bdfe6d46e5a401;hp=cd3dce8d21f953e8b9982dbcaabb31b758647561;hb=c09cd30d45162e3248a33baefb7a28feb8e1487a;hpb=877a1d6577ab41ce13b0a2794b73885d98e0d7cc diff --git a/simpltcp.tex b/simpltcp.tex index cd3dce8..7d0291f 100644 --- a/simpltcp.tex +++ b/simpltcp.tex @@ -58,7 +58,7 @@ corpo principale, costituito dalla funzione \code{main}. Questa si incarica di creare il socket, metterlo in ascolto di connessioni in arrivo e creare un processo figlio a cui delegare la gestione di ciascuna connessione. Questa parte, riportata in \figref{fig:TCPsimpl_serv_code}, è analoga a quella vista -nel precedente esempio esaminato in \secref{sec:TCPel_cunc_serv}. +nel precedente esempio esaminato in \secref{sec:TCP_cunc_daytime}. \begin{figure}[!htb] \footnotesize \centering @@ -73,8 +73,8 @@ nel precedente esempio esaminato in \secref{sec:TCPel_cunc_serv}. La struttura di questa prima versione del server è sostanzialmente identica a quella dell'esempio citato, ed ad esso si applicano le considerazioni fatte in -\secref{sec:TCPel_cunc_daytime}. Le uniche differenze rispetto all'esempio in -\figref{fig:TCPel_serv_code} sono che in questo caso per il socket in ascolto +\secref{sec:TCP_cunc_daytime}. Le uniche differenze rispetto all'esempio in +\figref{fig:TCP_serv_code} sono che in questo caso per il socket in ascolto viene usata la porta 7 e che tutta la gestione della comunicazione è delegata alla funzione \code{ServEcho}. % Per ogni connessione viene creato un @@ -113,7 +113,7 @@ del processo figlio. Il codice del client è riportato in \figref{fig:TCPsimpl_client_elem}, anche esso ricalca la struttura del precedente client per il servizio -\texttt{daytime} (vedi \secref{sec:net_cli_sample}) ma, come per il server, lo +\texttt{daytime} (vedi \secref{sec:TCP_cli_sample}) ma, come per il server, lo si è diviso in due parti, inserendo la parte relativa alle operazioni specifiche previste per il protocollo \texttt{echo} in una funzione a parte. @@ -129,7 +129,7 @@ specifiche previste per il protocollo \texttt{echo} in una funzione a parte. La funzione \code{main} si occupa della creazione del socket e della connessione (linee \texttt{\small 10--27}) secondo la stessa modalità spiegata -in \secref{sec:net_cli_sample}, il client si connette sulla porta 7 +in \secref{sec:TCP_cli_sample}, il client si connette sulla porta 7 all'indirizzo specificato dalla linea di comando (a cui si è aggiunta una elementare gestione delle opzioni non riportata in figura). @@ -289,7 +289,7 @@ quando affronteremo il comportamento in caso di conclusioni anomale: server a cui questo risponderà con un ACK. A questo punto il client verrà a trovarsi nello stato \texttt{FIN\_WAIT\_2} ed il server nello stato \texttt{CLOSE\_WAIT} (si riveda quanto spiegato in - \secref{sec:TCPel_conn_term}). + \secref{sec:TCP_conn_term}). \item quando il server riceve il FIN la \func{read} del processo figlio che gestisce la connessione ritorna restituendo 0 causando così l'uscita dal ciclo e il ritorno di \code{ServEcho}, a questo punto il processo figlio