Ciao a tutti, ho il seguente problema:
sto sviluppando un applicazione "ftp" semplice (e sottolineo semplice data la mia inesperienza). Fra i requisiti di questa applicazione c'è il fatto che ogni qual volta un client si connette al server il server deve generare un figlio (tramite fork() ) che ne gestisca le richieste;
tuttavia il client deve prevedere un comando "bye" che chiude la connessione col server e chiude anche il server!
io ho strutturato il client in questo modo:
Il server invece è fatto cosi:codice:int main(){ creo il socket inizializzo il socket mi connetto al server while(1){ ricevo un comando lo invio al server eseguo la parte di comando che spetta al client } chiudo il socket exit(0); }
tuttavia se inserisco una funzione "bye" nel server dopo la fork è chiaro che questa mi chiuderà il figlio mentre io devo chiudere tutto!!codice:int main() { creo socket inizializzo socket e porte creo coda di backlog while(1){ accetta la connessione fork() if (pid == 0) close (socket padre) while(1){ aspetta un comando controlla che cosa chiede ed eseguilo } } close socket_padre exit(0); }
suggerimenti?
grazie mille a tutti :-)


Rispondi quotando
