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

    [Java (1.6)] Server UDP gestore di messaggi

    Salve ragazzi.
    Volevo porvi un quesito perchè non ne riesco a venir fuori.
    Devo implementare un server UDP che resta solo in ascolto dei messaggi che i client UDP gli inviano. Questi messaggi servono fondamentalmente ad avvisare il server che lo specifico client è ancora attivo (una specie di keepalive). Se un client non manda messaggi per 3 secondi, il server lo deve considerare morto.
    Come faccio a controllare se un client non mi manda messaggi da più di 3 secondi?
    Se utilizzo setSoTimeout() viene eseguito il test sulla DatagramSocket... e li arrivano tutti i messaggi dei client, quindi non va bene per sapere se un particolare client non manda messaggi da più di 3 secondi.

    La mia idea era quella di crearmi una tabella nella quale andavo ad inserire ogni client che mi mandava il messaggio e il tempo in cui mi era stato mandato. Se poi il client era già inserito andavo a controllare quando mi aveva mandato l'ultimo messaggio e così potevo veder se erano passati più di tre secondi. Inoltre avrei dovuto controllare la tabella ogni tre secondi (fare una specie di refresh) per eliminare eventuali client inattivi che non mandavano più messaggi.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Java ha un forum dedicato.

    Sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.