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

    Monitorare Cartella Su Server Ftp

    Salve a tutti, come da titolo vorrei monitorare una cartella residente su server dalla mia applicazione client, quando viene inserito un file (che a me serve per aggiornare il client) bisogna che sia scatenato un evento:

    ho notato che la maggior parte delle soluzioni utilizzano un demone che ogni pochi millisecond va a verificare eventuali modifiche. questa soluzione è ovviamente funzionante ma non comporta uno spreco di risorse ?? non si può implementare in qualche modo una soluzione diversa ?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    147
    Ma in che linguaggio/tecnologia vuoi fare questa cosa?
    In linea del tutto generale scegliere la soluzione migliore dipende da un po' di fattori: quanti client ci sono, che operazioni devono già effettuare (carico) client e server, che infrastruttura di rete c'è in mezzo. Personalmente penso che, a meno di casi particolari, un ciclo di polling sia meglio delegarlo al client piuttosto che al server. Se la tua applicazione non è critica, potresti anche aumentare il periodo da pochi millisecondi a qualche secondo per "sprecare" di meno.

  3. #3
    il linguaggio è java.
    il numero di client non lo conosco a priori, ma in linea di massima credo che si può arrivare al massimo una decina. Inizialmente sarà testato su un solo client, e poi devo prevedere la possibilità di aggiungerne altri.

    Il file che devo monitorare è un file di aggiornamento per il db del client che serve a stipulare dei contratti.

    La questione dello spreco nasce dal fatto che l'aggiornamento avviene di rado, potrebbe anche non esserci affatto in un mese.

    Il polling sicuramente va delegato al client sono d'accordo

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    se avviene così di rado, perché non fare un unico controllo al lancio del programma, per l'intera sessione, oppure semplicemente mandi un'email a chi utilizza il software, avvertendolo della presenza dell'aggiornamento?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    147
    Effettivamente, date le condizioni, potresti fare un controllo alla partenza dell'applicazione client, come suggerito da Andrea1979. L'implementazione in Java più semplice ed immediata che mi viene in mente potrebbe essere quella di un client minimale ftp (magari con le librerie Apache Commons Net) che esegue un polling sul file in questione.

  6. #6
    La verifica all'avvio del programma l'avevo considerata come ipotesi, anche se in questo modo mi può capitare che l'aggiornamento avvenga durante l'utilizzo e poi non mi trovo con i dati aggiornati. E' difficile come coincidenza ma può capitare.

    la mail non la posso usare perchè se chi utilizza il client non va a leggere la mail chi sa quanto tempo lavora con l'applicazione non aggiornata .

    Forse potrei utilizzare una soluzione intermedia con la verifica all'avvio e poi un polling con intervalli di un minuto per esempio.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    e considerare di tenere il database su server remoto e basta?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    No il database ce l'ho su entrambi, anche perchè poi devo memorizzare i contratti in locale finchè non viene deciso di inviarli al server (almeno questo è il motivo ufficiale).

    Il file serve appunto per aggiornare il db locale.

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    ah, allora una soluzione tipo controllo all'avvio e ulteriori controlli ogni tot minuti potrebbe essere la scelta migliore. Stringere di più i tempi del controllo mi pare un'inutile forzatura (a meno che non vi siano altre ragioni per cui un controllo serrato si renda necessario), mica è una chat.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  10. #10
    no non è una chat. Praticamente ci sta un programma lato client dove puoi decidere quali servizi un azienda ha attivi per i clienti, e ci sta il client che invece consente di sottoscrivere contratti con i servizi attivi.

    Essendo la società che utilizza il sistema una società di vigilanza i servizi cambiano di rado.

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.