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:
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);
}
Il server invece è fatto cosi:
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);
}
tuttavia se inserisco una funzione "bye" nel server dopo la fork è chiaro che questa mi chiuderà il figlio mentre io devo chiudere tutto!!
suggerimenti?
grazie mille a tutti :-)