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

    Classe Java

    Esiste una classe che intercetta l'attivazione di una connessione ad internet?
    Cioè il programma viene eseguito in background, quando l'utente si connette ad internet il programma intercetta l'evento e mostra un JFrame con un messaggio (es. ADSL è connesso).

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Classe Java

    Originariamente inviato da statisticsWeb
    Esiste una classe che intercetta l'attivazione di una connessione ad internet?
    No. Primo è una questione molto "system-dependent", secondo non c'è un unico e solo modo per connettersi ad internet (anche nel contesto di un S.O. ben preciso), dipende da come e con cosa si fa l'accesso ad internet: potrebbe essere una connessione dial-up o grazie ad un router sulla rete (nel qual caso il PC non "sa" nulla di come è connesso fisicamente ad internet) o altro.

    Originariamente inviato da statisticsWeb
    Cioè il programma viene eseguito in background, quando l'utente si connette ad internet il programma intercetta l'evento e mostra un JFrame con un messaggio (es. ADSL è connesso).
    Quello che puoi fare è lanciare un comando di "ping" esterno e verificare lo status, oppure usare le classi di networking (es. Socket) per provare a connetterti ad un IP/host noto/fisso. Tutto questo ogni "tot" di tempo. Insomma .... in "polling".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    La cosa più banale che mi viene in mente di fare è un task "timerizzato" in cui il task da eseguire è la connessione http ad un sito web normalmente facilmente raggiungibile (per esempio google.com). Se il sito è raggiungibile (ovvero il relativo httpurlconnection non solleva eccezioni) allora sei connesso ad internet, altrimenti ci sono buone probabilità che non vi sia alcuna connessione ad internet attiva in quel momento. Il task lo eseguirai ad intervalli regolari congrui (1 minuto per esempio). Se fai una ricerca sul forum trovi già tutto (TimerTask e HttpURLConnection sono argomenti ampiamente trattati)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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

    Moderazione

    Complimenti per il titolo, che potrebbe tranquillamente andare bene per tutte le discussioni presenti in questo forum...

    Estratto dal Regolamento interno

    Il titolo deve essere quindi significativo e fornire una breve descrizione sintetica del problema consentendo agli utenti di conoscere il contenuto del messaggio senza doverlo aprire e leggere esplicitamente.
    Sistemo.


    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

  5. #5
    C'è un metodo per ricavare l'IP della connessione ad internet?
    Tipo questo:
    codice:
    String ip = InetAddress.getLocalHost().getHostAddress();
    però questo ricava l'indirizzo IP di localhost;
    invece esiste per la connessione ad internet?

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    anche per quest'ultima domanda, il forum ha già la risposta (e le motivazioni): conviene andare a pescare da un qualche sito (per esempio http://www.ip-adress.com/ o altri simili) l'indirizzo IP "visto" da un server esterno alla tua rete, altrimenti potresti avere problemi a recuperare qualasiasi informazione oltre l'indirizzo ip assegnato localmente alla tua scheda di rete
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da statisticsWeb
    C'è un metodo per ricavare l'IP della connessione ad internet?
    Se intendi quello "pubblico" assegnato dal provider e "visibile" su internet .... non c'è un modo in generale, perché dipende appunto da come e con quale infrastruttura di rete ti colleghi ad internet.

    In generale questo lo può sicuramente "sapere" un altro host a cui ti colleghi.

    Guarda tra i miei Java Examples (vedi firma) nella sezione Networking l'esempio GetInternetIP.java.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.