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

    File watcher con indirizzo ip

    ciao!

    sto implementando un programmino che mi permetta di vedere eventuali modifiche / creazioni / cancellazioni di file sul file server condiviso in rete.
    per ora ho fatto così:
    codice:
    public class Watcher implements Runnable {
    
        private final WatchService watchService;
    
        public Watcher(WatchService ws) {
            this.watchService = ws;
        }
    
        @Override
        public void run() {
            try {
                WatchKey key = watchService.take();
                while (key != null) {
                    for (WatchEvent event : key.pollEvents()) {
                        System.out.printf("Received %s event for file: %s\n", event.kind(), event.context());
                    }
                    key.reset();
                    key = watchService.take();
                }
            } catch (InterruptedException ex) {
                System.out.println(ex.getMessage());
            }
            System.out.println("Stopping thread");
        }
    }
    e il main:
    codice:
        public static void main(String[] args) throws IOException, InterruptedException {
            Path folder = Paths.get(".......");
            if (folder == null) {
                throw new UnsupportedOperationException("Directory not found");
            }
            WatchService ws = folder.getFileSystem().newWatchService();
            Watcher w = new Watcher(ws);
            Thread th = new Thread(w, "Watcher");
            th.start();
            folder.register(ws, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
            th.join();
        }
    tutto ciò funziona, però vorrei aggiungere la possibilità di vedere da chi è stata fatta l'operazione.
    se proprio non può essere il nome del pc, anche l'ip mi andrebbe bene.
    cmq risalirei facilmente al pc visto che gli ip sono tutti statici.
    avete idea se possibile??

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da fermat Visualizza il messaggio
    sto implementando un programmino che mi permetta di vedere eventuali modifiche / creazioni / cancellazioni di file sul file server condiviso in rete.

    vorrei aggiungere la possibilità di vedere da chi è stata fatta l'operazione.
    se proprio non può essere il nome del pc, anche l'ip mi andrebbe bene.
    Quindi il file-server offre uno "share" di rete su cui altri PC vanno a creare/modificare/cancellare file. Purtroppo non credo che si possa risalire, solo con il watch service di Java 7, a quale macchina ha fatto la operazione.
    Questa informazione non è fornita dal watch service ..... quindi non vedo come si possa risalire alla macchina che sta accedendo allo share di rete.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    si esatto.
    è un server con alcune areee condivise in modo, appunto, da condividere file tra gli utenti in rete.

    immaginavo non fosse possibile solo con watch service.
    ma secondo in altro modo sarebbe possibile??
    oppure devo lasciar proprio perdere??

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.