Una situazione che puo vericarsi è che l’host su cui e in esecuzione il server risulti irraggiun-
gibile. Tale condizione può dipendere dalla rete o dall’host. E’ facilmente simulabile mandando
in esecuzione il client ed il server su macchine diverse, dando in input una prima linea al client,
aspettando l’eco, disconnettendo dalla rete la macchina del server, e dando al client in input una
seconda linea. Accade quanto segue
Quando l’host viene disconnesso, non viene inviato alcun messaggio al client.
Digitando la seconda riga, il client scrive sul socket (reti writen()) e si blocca in attesa di
ricevere il secondo eco sul socket (reti readline()).
TCP continuera a trasmettere la seconda riga no al raggiungimento di un numero massimo di
volte; dopodichè, il client ricevera un messaggio d’errore che puo essere di tre tipi:
ETIMEOUT, se l’host è caduto e nel tempo massimo consentito non è giunto l’ACK atteso
EHOSTUNREACH oppure ENETUNREACH se risponde qualche router intermedio che si è
accorto del problema ed ha spedito un pacchetto ICMP (protocollo di controllo usato da IP,
i dettagli li riceverete nel corso di teoria)
Con questa breve spiegazione spero di aver risposto al vostro quesito.