Ripeto che se vuoi fare qualcosa che ha a che fare con la rete non puoi usare solo funzioni della libreria standard...
Se ti va bene allora ti propongo questa cosa:
- fai prima di tutto un semplice framework a oggetti per la creazione/gestione di connessioni UDP client e server.
- crea un'astrazione del canale trasmissivo reale
- crea un'astrazione del canale trasmissivo, ma questa volta virtuale, modella il canale tramite banda, latenza, error rate...gestisci il tempo in maniera virtuale (cioè se vuoi fare una simulazione che dura un secondo, non deve durare un secondo reale, ma solo il tempo necessario a fare i calcoli della simulazione)
- A questo punto crea su UDP un semplice protocollo con controllo di errore e ritrasmissioni. Il canale virtuale ti permetterà di simulare il comportamento del protocollo al variare delle caratteristiche del canale virtuale
In pratica è un framework per le trasmissioni UDP, ma che permette di fare il testing in locale, modellando il canale di trasmissione, in modo da permettere di testare nelle situazioni più critiche un protocollo di rete basato su UDP...
|