Forum discussione progetto

Chiarimento sul protocollo di comunicazione client-server

Chiarimento sul protocollo di comunicazione client-server

by RICCARDO MORI -
Number of replies: 2

Salve,

Nella descrizione delle specifiche del progetto vengono elencati i comandi che il client puo' inviare al server (login, logout, playWORDLE, ecc...), non mi e' chiaro pero' se questi comandi indichino anche il formato in cui vanno inviati al server.

Ad esempio supponiamo che l'utente voglia effettuare il login: in questo caso dovra' digitare da terminale il comando login(username, password), a questo punto e' obbligatorio che il programma client invii al server l'esatto comando login(username, password) (in forma testuale) oppure sono libero di sviluppare un protocollo personalizzato per la comunicazione tra client e server? Ad esempio potrei usare un protocollo binario in cui il primo byte inviato indica il comando (01 -> login, 02 -> logout, ecc..)?

In reply to RICCARDO MORI

Ri: Chiarimento sul protocollo di comunicazione client-server

by MATTEO LOPORCHIO -

Ciao,

Certamente, mi pare che il testo del progetto non dica nulla a riguardo. Dunque i messaggi inviati possono avere qualsiasi formato. Ad esempio, possono essere stringhe JSON oppure sequenze di byte con un formato personalizzato. Ricordati ovviamente di documentare e motivare le tue scelte nella relazione.

Anche per quanto riguarda i comandi digitati da terminale dovrebbe esserci libertà completa. Infatti il testo del progetto specifica solo "le principali operazioni" da implementare (vedi Sezione 2.1), ma non si dice che i comandi debbano necessariamente avere il formato indicato. Infatti, sarebbe piuttosto scomodo dover digitare login(username, password) con tanto di parentesi: meglio qualcosa del tipo login username password (che è anche più facilmente "tokenizzabile"). 

L'importante è che vi sia almeno un comando per ognuna delle funzionalità richieste e, come detto prima, che ogni scelta sia opportunamente documentata e motivata nella relazione.