Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C] dubbi vari su multithreading

    ho alcuni dubbi che vorrei chiarirmi... credo di essere nel posto giusto per farlo!

    Sto implementando la tipica comunicazione client-server asimetrica.
    Il server ha un thread per accettare nuove connessioni su una socket e poi ha un thread per gestire le richieste di ogni client, ognuno su una socket diversa.

    Sono arrivato al punto che devo gestire la chiusura inaspettata del server, ma ho dei problemi...
    Praticamente catturo il segnale SIGTERM (15) chiudo la socket di ascolto, che non mi serve più, e invio a tutti i clients connessi un messaggio di chiusura... poi termino immediatamente il processo server con una exit(). Sbaglio?

    E poi...
    quando invio ai client questo messaggio di chiusura e il server termina...dall'altra parte i client effettuano una lettura dalla socket e qui ho altri dubbi... che succede? riescono a leggere lo stesso o riscontrano un errore?

  2. #2
    UP!

  3. #3
    Praticamente catturo il segnale SIGTERM (15) chiudo la socket di ascolto, che non mi serve più, e invio a tutti i clients connessi un messaggio di chiusura... poi termino immediatamente il processo server con una exit(). Sbaglio?

    E poi...
    quando invio ai client questo messaggio di chiusura e il server termina...dall'altra parte i client effettuano una lettura dalla socket e qui ho altri dubbi... che succede? riescono a leggere lo stesso o riscontrano un errore?
    La via 'corretta' sarebbe quella di chiudere tutti i socket, aspettare che tale operazione sia effettivamente conclusa e poi chiudere definitivamente il programma.

    PS - occhio ai memory leaks, sempre in agguato in questo tipo di operazioni.
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

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.