agosteeno
30-01-2011, 11:50
Salve a tutti. Sto' realizzando un server multithread per un esame. Il client l'ho scritto e sembra funzionare. Ho scritto una libreria di funzioni per la connessione e lo scambio di messaggi tra client e server e anche questa sembra funzionare. Ho realizzato infatti un server stub che risponde ai messaggi dei client e sembra a posto.
Il problema e' che nel server vero e proprio, dove faccio un ciclo nel quale ad ogni iterazione faccio una accept() e se c'e' una richiesta di connessione da parte di un client faccio partire un thread che gestisce la comunicazione, accetta la prima connessione ma si blocca sulla accept() anche se ci sono altri client che tentano di connettersi. In pratica la accept() dopo la prima volta si blocca e nn risponde piu'. Quello che mi fa' incazzare e' che nel server stub funziona!
Qualcuno ha idea del perche' una accept() non risponde e si blocca?
Il problema e' che nel server vero e proprio, dove faccio un ciclo nel quale ad ogni iterazione faccio una accept() e se c'e' una richiesta di connessione da parte di un client faccio partire un thread che gestisce la comunicazione, accetta la prima connessione ma si blocca sulla accept() anche se ci sono altri client che tentano di connettersi. In pratica la accept() dopo la prima volta si blocca e nn risponde piu'. Quello che mi fa' incazzare e' che nel server stub funziona!
Qualcuno ha idea del perche' una accept() non risponde e si blocca?