Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [C] Chiudere thread

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175

    [C] Chiudere thread

    Ho un client e un server che comunicano tramite socket tcp, uso i thread per la concorrenza.
    Nel main del server ho la chiamata a pthread_create che fa si che ogni volta che un client manda una richiesta di connessione al server parte un nuovo thread.
    Ora, può capitare che il client manda degli input al server per cui il server quando li rileva deve staccare il client.
    Ho usato pthread_exit(0), funziona tutto "a meraviglia" l'unico problema è che la finestra dove è in esecuzione il client non ritorna il controllo al prompt.

    Ovvero una volta che il server invia la pthread_exit, il client resta "appeso" in attesa di ctrl+c. Come posso risolvere?

  2. #2
    Dunque il thread si chiude ma il client rimane appeso...
    Lo chiudi il socket prima di uscire dal thread? Perché se chiudi solo il thread il socket rimane aperto dal processo principale.
    ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    cioè prima di pthread_exit(0) lanciare un close(filedes_socket)?

  4. #4
    Sì, l'idea è quella.
    ...

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    Risolto! Ora mi chiedo come posso fare a far sì che il server mandi un messaggio a tutti i client???
    Un client manda un input al server, quando riceve questo input il server deve mandare a tutti i client un nuovo output.

    Cosa uso? Segnali? Se sì come?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.