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

    [C] Comunicazione Client-Server

    Buongiorno a tutti.
    Sto sviluppando un'applicazione client-server con un server sequenziale, ovvero che accetti una connessione per volta. Per far si che un client non si appropri del server per un tempo illimitato ho impostato (NEL CODICE DEL CLIENT) un timer, tramite la funzione alarm(60) e gestito il relativo segnale SIGALRM (TRAMITE HANDLER) in modo tale che ogni client pu� occupare per una stessa sessione un server per al pi� un minuto, dopodich� il socket del client viene chiuso.

    Nel server invece vorrei fare in modo che esso attenda eventuali connessioni di client per al massimo 30 secondi; se entro tale periodo nessun client si connette al server, esso deve chiudere il relativo socket automaticamente. Avevo pensato di gestire la cosa sempre tramite un alarm(30). Il problema � che se in quei 30 secondi in cui il server � in attesa di connessioni, un client si connette, il segnale SIGALRM viene comunque inviato all'applicazione. In conclusione, mi sapreste consigliare un modo per far si che questo segnale venga inviato soltanto allo se scadere dei 30 secondi? O meglio la funzione alarm(30), una volta partita, pu� essere bloccata se un client si connette?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Per il server puoi semplicemente impostare un flag a vero se arriva una connessione e quindi ignorare l'allarme se il flag � a vero.

    Non capisco la questione dei 60 secondi per il client. Non capisco come questa cosa possa garantire che il server accetti solo una connessione. E' sul server che devi gestire le connessioni in ingresso.

    Spero che tutto ci� sia per un esercizio scolastico ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.