Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C] comando a tempo

  1. #1
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936

    [C] comando a tempo

    Sto realizzando un server che, come tutti i servers, puo' ricevere delle connessioni da dei clients...
    Ogni volta che un client lo contatta, il server si forka e manda il processo figlio ad occuparsi del client...
    C'e' la triste possibilita' che un client si disconnetta prima di inviare dei dati necessari, facendo così bloccare la funzione read del server ....

    Vorrei settare un timeout per ogni processo figlio, in modo che se dopo un tot di secondi non ha e' ancora terminato gli invio un bel SIGTERM o un SIGKILL e lo termino io

    Vorrei anche poter resettare questo timeout e farlo ripartire da zero ogni volta che il processo figlio riceve dei dati dal client...



    Come posso fare tutto cio'?

    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  2. #2

    Re: [C] comando a tempo

    Originariamente inviato da /dev/null
    C'e' la triste possibilita' che un client si disconnetta prima di inviare dei dati necessari, facendo così bloccare la funzione read del server ....

    Vorrei settare un timeout per ogni processo figlio, in modo che se dopo un tot di secondi non ha e' ancora terminato gli invio un bel SIGTERM o un SIGKILL e lo termino io

    Vorrei anche poter resettare questo timeout e farlo ripartire da zero ogni volta che il processo figlio riceve dei dati dal client...
    Se sei sotto *nix potresti usare select() impostando il timeout
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  3. #3
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936

    Re: Re: [C] comando a tempo

    Originariamente inviato da Ikitt
    Se sei sotto *nix potresti usare select() impostando il timeout
    Sì, sotto Linux...
    Ho gia' usato la poll in un paio d'occasioni, ma piu' che altro mi interessava eseguire queste operazioni per imparare ad usare funzioni a tempo...
    Avevo letto qualcosa in proposito qui', ma non ho capito come utilizzarlo e volevo provare a comprenderlo con questo esempio, dato che potrei voler bloccare un processo per motivi non riguardanti le operazioni di i/o (questo esempio mi sembra abbastanza generico, ma ne vanno benissimo anche altri)...
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

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.