Precedente Successivo

Il protocollo

Per permettere a client e server di dialogare, è opportuno implementare un protocollo sulla base del quale sarà loro possibile scambiarsi richieste, inviare conferme e copiare i file opportuni.

L'approcio che ho scelto è stato quello di centralizzare tutta la parte logica e decisionale sul server per ottenere un client leggero. In sostanza il client non farà altro che inviare una richiesta al server e comportarsi nel modo corretto in base alla risposta ottenuta. Il vocabolario del server sarà allora molto piú voluminoso di quello a disposizione del client.

ServerClient
New dirAnother dir
New fileAnother file
Dir removed
File removed
Enter dir
File updated
Newer file
Stat
End of list
Vocabolario di client e server

Come si può notare ho scelto dei codici descrittivi molto ridondanti, ma che ricalcano l'idea base di altri protocolli molto conosciuti ed utilizzati, quali l'SMTP, l'NNTP, etc. Ciò che invece non si vede dalla tabella è la lunghezza effettiva di ogni codice. Poiché il ricevente non può sapere in anticipo quale messaggio gli verrà inviato, è necessario impostare una lunghezza fissa per ogni vocabolo. La scelta piú ovvia ricade sulla lunghezza del comando piú lungo.


Precedente Successivo