PDA

View Full Version : [C] - Progetto rubrica remota


clockover
06-12-2009, 10:40
Come da titolo devo fare un progetto in C per l'università riguardante una rubrica remota!

Ovviamente devo progettare sia client che server!

L'aggiunta e la ricerca di un record devono essere effettuate da persone autorizzate! Non per forza chi può leggere può anche modificare!

In primis avevo pensato di creare due gruppi e facendo distinzione tra utente in sola lettura e utente con diritti di modifica! Ma così facendo avrei comunque dovuto creare per ogni utente in remoto, anche un utente sulla macchina server! O sto dicendo una cavolata?? No perchè non l'ho provata questa cosa!
Per l'autenticazione una semplice user name e password (va bene anche la trasmissione in chiaro) penso possa andare bene dato che non è la sicurezza lo scopo del progetto!

- Il server gestirà sequenzialmente le richieste dei processi client!
Per questa parte avrei pensato di accettare le richieste dei client in multithread, e sincronizzare le operazioni di modifica o lettura con dei semafori!

Il client attravrerso la chiamata del programma con dei parametri ci connetterà al server! I paramentri dovranno includere ovviamente l'indirizzo del server! Una volta avviato, se non specificato con i parametri inserirà il nome utente e la password e si ritroverà con una linea di comando che comprenderà un help con i comandi messi a disposizione a seconda dei suoi permessi! Ad esempio se ha solo i privilegi di lettura ci sarà un "showall", un "find", ecc..

Cosa ne pensate di questa prima bozza?

cionci
07-12-2009, 10:03
Ma così facendo avrei comunque dovuto creare per ogni utente in remoto, anche un utente sulla macchina server! O sto dicendo una cavolata?? No perchè non l'ho provata questa cosa!
No, questo non serve. La gestione dei privilegi la demandi alla tua applicazione e non al sistema ;)

clockover
07-12-2009, 14:26
La mia prima idea infatti era proprio quella di far gestire i privilegi all'applicazione! Mi era venuta in mente anche quell'altro modo li! Comunque si infatti meglio far gestire tutto all'applicazione server!

Per il resto comunque (anche se per ora è un'idea ancora, dato che non ho ancora messo mano alla tastiera) potrebbe andare?

clockover
23-12-2009, 08:41
Avrei intenzione di far operare il server in background... in che modo posso fare? Cioè lasciando la linea di comando libera (in poche parole un demone)!

cionci
23-12-2009, 09:07
Mi immagino tu stia lavorando su Linux.
Lancialo facendo seguire una & al comando, ad esempio:

tuodemone &

Questo è un modo semplice, puoi comunque farti uno init script.

clockover
23-12-2009, 09:31
Si esatto su Linux! Avevo pensato di mandare una & dopo il programma, solo che se dovessi chiudere quel terminale chiuderei anche il programma! Invece con uno script di init avvierei il server direttamente con lo script... non male!
server start
server stop
ecc...

ci sono anche altri modi?