ciao!

ho questo pezzo di codice con il quale vorrei identificare gli IP raggiungibili nella LAN, e in caso trovare il nome della macchina:
codice:
public class Main {

    public static void main(String[] args) {
        String baseNetwork = "192.168.1.";
        for (int i = 0; i < 256; i++) {
            String currIp = baseNetwork + String.valueOf(i);
            try {
                InetAddress addr = InetAddress.getByName(currIp);
                if (addr.isReachable(50)) {
                    String host = addr.getHostName();
                    System.out.println("OK: " + currIp + " - " + host);
                }
            } catch (UnknownHostException ex) {
                System.out.println(ex.getMessage());
            } catch (IOException ex) {
                System.out.println(ex.getMessage());
            }
        }
    }
}
però ho notato che per molti IP non mi stampa il nome della macchina:
codice:
OK: 192.168.1.93 - 192.168.1.93
OK: 192.168.1.94 - 192.168.1.94
OK: 192.168.1.96 - COMMERCIALE.laltramoda.local
OK: 192.168.1.97 - 192.168.1.97
OK: 192.168.1.98 - LOGISTICA3.laltramoda.local
quelli che hanno il nome sono tutte stampanti di rete.

avete qualche idea del perchè?
i pc non sono a dominio, ma hanno tutti lo stesso WORKGROUP (non so se può essere una info utile).