Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Come si sblocca accept()?
Forum - C/C++ - Come si sblocca accept()?

Avatar
robrock80 (Normal User)
Pro


Messaggi: 143
Iscritto: 11/12/2006

Segnala al moderatore
Postato alle 11:33
Sabato, 03/04/2010
Salve a tutti. Ho cercato in lungo e in largo, ma niente, ho provato anche a mettere la accept dentro un thread che poi termino con TerminateThread o ExitThread ma, nel primo caso, il thread non viene terminato, nel secondo invece viene terminato ma lo strato winsock resta bloccato. Esiste un modo, senza usare le chiamate asincrone, per sbloccare la funzione accept(SOCKET, NULL, NULL) di winsock?


P.S.: ho provato anche con closeSocket, shutdown e WSACleanup, ma restano tutte bloccate

Ultima modifica effettuata da robrock80 il 03/04/2010 alle 14:39


Nel mondo ci sono 10 tipi di persone: quelle che capiscono il binario e quelle che non lo capiscono
PM Quote
Avatar
robrock80 (Normal User)
Pro


Messaggi: 143
Iscritto: 11/12/2006

Segnala al moderatore
Postato alle 15:13
Sabato, 03/04/2010
Yuuuhuuuu.... Ci sono riuscito!!! Ho fatto a modo mio e anche se sarà poco ortodosso, almeno funziona: praticamente mentre nel thread della accept quest'ultima è bloccata, nel thread principale prima imposto i flag di fine ascolto a false e poi creo un socket client che sblocca la accept. Se qualcuno conosce un modo piu pulito mi faccia sapere

Ultima modifica effettuata da robrock80 il 03/04/2010 alle 22:10


Nel mondo ci sono 10 tipi di persone: quelle che capiscono il binario e quelle che non lo capiscono
PM Quote