Problema con serveu UDP e multithreading

di il
4 risposte

Problema con serveu UDP e multithreading

Salve a tutti ragazzi, mi servirebbe una mano con un problema un pò complesso.
Devo creare un server UDP che rimanga in ascolto mentre ricevo delle stringhe contenenti IP "fittizzi" inviatemi da un client python. Di per sè la comunicazione tra client python e server java funziona ed ogni 10 secondi ricevo delle stringhe contenenti degli IP. Ora vorrei avere una lista di questi IP che si aggiorna in base a quelli che ricevo. Mi spiego meglio:
creo per esempio un oggetto arraylist in cui registro le stringhe che ricevo ogni 10 secondi e successivamente cancellare quelle stringhe che non si ripresentano ogni 20 secondi.. come posso fare?
Scusate se l'esposizione è un complessa in tal caso chiedetemi pure

4 Risposte

  • Re: Problema con serveu UDP e multithreading

    Banale: per ogni IP ti tieni traccia del timestamp di arrivo.
    Quado arriva un nuovo IP, aggiorni la lista, quindi scandisci la lista e d elimini gli IP scaduti.

    CI sono altre soluzioni, ma, come al solito, se non ci sono particolari necessita', conviene scegliere la soluzione piu' semplice.
  • Re: Problema con serveu UDP e multithreading

    Come faccio ad associare una stringa ad una data? dovrei mappare? o c'è un modo più semplice?
  • Re: Problema con serveu UDP e multithreading

    Espyos ha scritto:


    come faccio ad associare una stringa ad una data? dovrei mappare? o c'è un modo più semplice?
    Domanda strana: sai cosa sono le classi?
    In alternativa, tieni un array parallelo!

    Suvvia, un po' di spirito di iniziativa!!!
  • Re: Problema con serveu UDP e multithreading

    Scusa, non voglio la pappa pronta è che proprio mi sto perdendo tra i vari concetti. Comunque ho creato una classe oggetto con costruttore (string,date).
    Dato che voglio che il server sia sempre in ascolto ho una classe server udp runnable che faccio partire in un nuovo thread di una classe con main. La mia domanda è ora: per ogni ciclo di ascolto creo un nuovo oggetto con ip e data, poi come faccio a passare questo valore alla classe main?

    grazie ancora
Devi accedere o registrarti per scrivere nel forum
4 risposte