StefanoSalsano/tpi1-nat-exercise — pull request #5 by genesis83 (2012-03-05 02:42:25+00:00)
Title:  Estensione opzionale timeout nel NAT 

Ho implementato in C l'estensione relativa alla scadenza del timeout sul Nat.
Il client invia un messaggio al server contente un periodo di attesa in secondi, il server va in sleep e dopo invia un Ack al client. Il client può inviare messaggi ciclicamente (naturalmente deve aspettare l'ACK del precedente) con tempo di sleep crescente per testare il tempo di timeot del Nat.
Il problema è che il client non sarà mai avvisato della scadenza del timeout, visto che il server non può più comunicare con questo.
Uno sviluppo futuro potrebbe essere quello di instaurare due linee di comunicazione una udp per il test e una tcp per lo scambio di informazioni da tenere sempre attiva con messaggi di ping/pong. Per un'implementazione di questo tipo è possibile creare un server ed un client con i thread per gestire il parallelismo delle linee di comunicazione. La gestione delle risorse condivise può essere effettuata mediante dei semafori.

Antonio Papa