Nem01::Codice

Introduzione

Perchè ripetere un lavoro che è stato gia fatto da qualcuno?
La forza della riusabilità del codice è proprio questa. Per la mia tesi ho dovuto scrivere un programma che trasmette video codificato su Internet, questo è un compito molto complesso che richiede la soluzione di una serie di compiti più semplici.

Per alcuni di essi fortunamente ho trovato in rete una soluzione bella e pronta, per altri problemi mi sono costruito delle piccole classi che possono risultare utili in molte occasioni, per questo motivo ho deciso di renderle disponibili al download.

Considerate che non sono un programmatore professionista e che quindi il codice non sarà perfetto, ma almeno funziona ;-)

Tutto il software è stato scritto su Linux, ma penso che non ci debba volere molto a portare tutto su altre piattoforme.

Bitstring (C++)

Tipicamente su una stringa si può scrivere [leggere] un byte alla volta. Questa classe fornisce una stringa astratta sulla quale si può scrivere [leggere] un singolo bit alla volta.

La classe è stata testata su piattaforma Linux, ma amici mi hanno detto di averla compilata ed utilizzata su Windows senza troppi problemi.

tgz file Bitstring.tgz

TCPSocket (C++)

Le socket permettono di scambiare dati tra due unità anche remote utilizzando un paradigma analogo a quello dei file. Tuttavia ogni volta che si crea una socket bisogna ripetere una serie di compiti noiosi, con questa classe ho incapsulato tutte le operazioni che l'utente non ha bisogno di conoscere.

In particolare in questo caso viene creata una connessione TCP.

tgz file TCPSocket.tgz

UDPSocket (C++)

Stesso discorso di TCPSocket, in questo caso però viene utilizzato UDP invece di TCP. Ci sono alcune differenze nella gestione delle connessioni, visto che una sessione TCP è sempre connessa mentre una sessione UDP può essere connessa o meno.

tgz file UDPSocket.tgz