Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 31
  1. #11
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    Si ma un notebook usa sempre e solo 1 interfaccia di rete per volta, giusto?
    Non confondere ..... un conto è se un pacchetto deve "uscire" e un altro conto è un pacchetto che "entra".
    Una macchina può avere 2 schede di rete (cablata o no, non importa) ognuna con il suo indirizzo IP. Si potrebbe fare in modo di avere un server HTTP che faccia il "bind" sul IP della 1° scheda e un altro server HTTP che faccia il "bind" sul IP della 2° scheda di rete. Entrambi funzionano e rispondono correttamente, ovviamente a IP diversi.

    Un altro conto è un pacchetto che "esce". Il sistema lo gira tipicamente su una sola interfaccia ma quale interfaccia la sceglie "sapendo" come è fatta la rete (meglio dire: sapendo come raggiungere altri indirizzi). Esempio idem con 2 interfacce di rete: se una stampante di rete è raggiungibile sulla rete attaccata alla interfaccia 1, il sistema inizialmente non lo sa e chiede alla rete su tutte le interfacce (tramite ARP) "chi ha il IP w.x.y.z?" (w.x.y.z IP della stampante). Se la risposta arriva (ovviamente) sulla interfaccia 1, allora il sistema da quel momento invierà i pacchetti per la stampante sulla interfaccia 1 e non sulla 2.

    Quindi non è che il sistema usa "1 interfaccia di rete per volta". Per ogni pacchetto viene scelto il percorso in base alla conoscenza della rete che ha il sistema.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #12
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    Su internet ho trovato questo codice ma non funziona:
    Ormai dovresti saperlo, "non funziona" non vuol dire nulla.
    Non compila?
    Eccezioni a runtime?
    Altro?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #13
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    Ormai dovresti saperlo, "non funziona" non vuol dire nulla.
    Non compila?
    Eccezioni a runtime?
    Altro?
    No no, compila e non da eccezioni. Però nella console non leggo l'ip, come questa stringa non esistesse:

    System.out.println(ip);
    Più pratica in futuro...

  4. #14
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Non confondere ..... un conto è se un pacchetto deve "uscire" e un altro conto è un pacchetto che "entra".
    Una macchina può avere 2 schede di rete (cablata o no, non importa) ognuna con il suo indirizzo IP. Si potrebbe fare in modo di avere un server HTTP che faccia il "bind" sul IP della 1° scheda e un altro server HTTP che faccia il "bind" sul IP della 2° scheda di rete. Entrambi funzionano e rispondono correttamente, ovviamente a IP diversi.

    Un altro conto è un pacchetto che "esce". Il sistema lo gira tipicamente su una sola interfaccia ma quale interfaccia la sceglie "sapendo" come è fatta la rete (meglio dire: sapendo come raggiungere altri indirizzi). Esempio idem con 2 interfacce di rete: se una stampante di rete è raggiungibile sulla rete attaccata alla interfaccia 1, il sistema inizialmente non lo sa e chiede alla rete su tutte le interfacce (tramite ARP) "chi ha il IP w.x.y.z?" (w.x.y.z IP della stampante). Se la risposta arriva (ovviamente) sulla interfaccia 1, allora il sistema da quel momento invierà i pacchetti per la stampante sulla interfaccia 1 e non sulla 2.

    Quindi non è che il sistema usa "1 interfaccia di rete per volta". Per ogni pacchetto viene scelto il percorso in base alla conoscenza della rete che ha il sistema.
    Non so cosa significhi esattamente fare il "bind" ma è sempre un piacere leggerti però se riuscissi a recuperare l'IP w.x.y.z con cui un pc risulti raggiungibile attraverso la rete (un normale pc con una sola scheda di rete e trascurando i casi particolari) mi accontenterei. Poi se la cosa fosse troppo complessa ci rinuncerei e mi metterei il cuore in pace.
    Più pratica in futuro...

  5. #15
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    Non so cosa significhi esattamente fare il "bind"
    Letteralmente "legare". Per i socket significa legare il socket ad un indirizzo/porta locale.

    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    se riuscissi a recuperare l'IP w.x.y.z con cui un pc risulti raggiungibile attraverso la rete
    java.net.NetworkInterface fornisce le info su tutte le interfacce di rete.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #16
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    No no, compila e non da eccezioni. Però nella console non leggo l'ip, come questa stringa non esistesse:

    System.out.println(ip);
    Andando in debug ti accorgeresti che il programma resta bloccato sulla readLine(): è una chiamata bloccante e l'esecuzione non prosegue finché essa non ritorna qualcosa. C'è da capire perché non termina. Lo leggi tutto l'output? Prova a iterare finché non torna null.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #17
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    Andando in debug ti accorgeresti che il programma resta bloccato sulla readLine(): è una chiamata bloccante e l'esecuzione non prosegue finché essa non ritorna qualcosa. C'è da capire perché non termina. Lo leggi tutto l'output? Prova a iterare finché non torna null.
    Mi sono sbagliato, ho un output ma è una riga vuota. A me non da errori il programma e non si blocca come succede a te infatti se aggiungo delle stringhe prima e dopo readLine() leggo tutto senza problemi.

    OUTPUT
    a

    b

    INPUT
    codice:
    package prova;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.URL;
    import java.net.URLConnection;
    import java.net.UnknownHostException;
    
    import javax.swing.*;
    
    public class Esempio extends JFrame {
    
        public class NetManager {
    
            private static final String URL = "http://www.html.it";
    
            private String findMeExternalIP() {
                String ip = null;
                try {
                    URL page = new URL(URL);
                    URLConnection yc = page.openConnection();
                    BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
                    ip = in.readLine();
                    in.close();
                } catch (IOException ex) {
                    return null;
                }
                return ip;
            }
        }
    
        public Esempio() throws UnknownHostException {
            NetManager t = new NetManager();
            String ip = t.findMeExternalIP();
            System.out.println("a");
            System.out.println(ip);
            System.out.println("b");
            setSize(100,100);
            //InetAddress ia = InetAddress.getLocalHost();
            //String ip = ia.getHostAddress();
            //System.out.println("IP:" + ip);
    
        }
    
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    try {
                        Esempio interfaccia = new Esempio();
                        interfaccia.setVisible(true);
                    } catch (UnknownHostException e) {
                        e.printStackTrace();
                    }
    
                }
            });
        }
    
    }
    Più pratica in futuro...

  8. #18
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    ho un output ma è una riga vuota.
    Con il browser apri http://www.html.it, poi visualizza il sorgente della pagina ..... cosa vedi (specificatamente nella prima riga)?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #19
    Il classico doctype!

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    Più pratica in futuro...

  10. #20
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    Il classico doctype!

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    Strano ... quando ti avevo risposto avevo controllato e da View Page Source (dove mostra anche il numero di riga!) in FF vedevo la prima riga vuota (il doctype era sulla seconda). Ora il doctype è sulla prima riga. Mah .....

    No alt, ho ricontrollato subito dopo e la prima riga è di nuovo vuota.

    Ma comunque: cosa ti aspetti quindi? Con un solo readLine() leggi 1 sola riga .... può essere vuota o no ... Quindi?
    Ultima modifica di andbin; 15-01-2014 a 23:08
    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.