X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=tcpsock.tex;h=5951a91107a872bde436424df1adaa7ce8cfe96a;hp=15eb88fd06c2f40e65014ca3cea7aa6d4d6f7cb3;hb=fa15a3f1ecd64efd8440e46d398fd9976abc3d25;hpb=5d7fe3ee9e2509853d2d06902b6b503680135641 diff --git a/tcpsock.tex b/tcpsock.tex index 15eb88f..5951a91 100644 --- a/tcpsock.tex +++ b/tcpsock.tex @@ -1,6 +1,6 @@ %% tcpsock.tex %% -%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2019 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", @@ -355,7 +355,7 @@ comune trovare domande su come sia possibile evitare che un'applicazione resti in questo stato lasciando attiva una connessione ormai conclusa; la risposta è che non deve essere fatto, ed il motivo cercheremo di spiegarlo adesso. -\itindex{Maximum~Segment~Lifetime} +\itindbeg{Maximum~Segment~Lifetime~(MSL)} Come si è visto nell'esempio precedente (vedi fig.~\ref{fig:TCP_conn_example}) \texttt{TIME\_WAIT} è lo stato finale in cui il capo di una connessione che esegue la chiusura attiva resta prima di passare alla chiusura definitiva @@ -374,6 +374,7 @@ router; quando si annulla il pacchetto viene scartato. Siccome il numero è ad TTL (da \textit{time to live}) non è propriamente un limite sul tempo, sulla sua base si può stimare che un pacchetto IP non possa restare nella rete per più un certo numero di secondi, che costituisce la MSL. +\itindend{Maximum~Segment~Lifetime~(MSL)} Ogni realizzazione del TCP deve scegliere un valore per la MSL; l'\href{http://www.ietf.org/rfc/rfc1122.txt}{RFC~1122} raccomanda 2 minuti, @@ -1848,7 +1849,7 @@ scriverli su \file{stdout}. Quando si concluderà l'invio di dati mandando un \textit{end-of-file} sullo \textit{standard input} si avrà il ritorno di \func{fgets} con un puntatore -nullo (si riveda quanto spiegato in sez.~\ref{sec:file_line_io}) e la +nullo (si riveda quanto spiegato in sez.~\ref{sec:file_unformatted_io}) e la conseguente uscita dal ciclo; al che la subroutine ritorna ed il nostro programma client termina. @@ -2087,8 +2088,8 @@ tab.~\ref{tab:proc_proc_states}). Se a questo punto si inizia a scrivere qualcosa sul client non sarà trasmesso niente fintanto che non si preme il tasto di a capo (si ricordi quanto detto -in sez.~\ref{sec:file_line_io} a proposito dell'I/O su terminale). Solo -allora \func{fgets} ritornerà ed il client scriverà quanto immesso dal +in sez.~\ref{sec:file_unformatted_io} a proposito dell'I/O su terminale). +Solo allora \func{fgets} ritornerà ed il client scriverà quanto immesso dal terminale sul socket, per poi passare a rileggere quanto gli viene inviato all'indietro dal server, che a sua volta sarà inviato sullo \textit{standard output}, che nel caso ne provoca l'immediata stampa a video.