public List<InetAddress> discoverHosts(int udpPort,int timeoutMillis){
  List<InetAddress> hosts=new ArrayList<InetAddress>();
  DatagramSocket socket=null;
  try {
    socket=new DatagramSocket();
    broadcast(udpPort,socket);
    socket.setSoTimeout(timeoutMillis);
    while (true) {
      DatagramPacket packet=new DatagramPacket(new byte[0],0);
      try {
        socket.receive(packet);
      }
 catch (      SocketTimeoutException ex) {
        if (INFO)         info("kryonet","Host discovery timed out.");
        return hosts;
      }
      if (INFO)       info("kryonet","Discovered server: " + packet.getAddress());
      hosts.add(packet.getAddress());
    }
  }
 catch (  IOException ex) {
    if (ERROR)     error("kryonet","Host discovery failed.",ex);
    return hosts;
  }
 finally {
    if (socket != null)     socket.close();
  }
}

public List < InetAddress > discoverHosts ( int udpPort , int timeoutMillis ) { List < InetAddress > hosts = new ArrayList < InetAddress > ( ) ; DatagramSocket socket = null ; try { socket = new DatagramSocket ( ) ; broadcast ( udpPort , socket ) ; socket . setSoTimeout ( timeoutMillis ) ; while ( true ) { DatagramPacket packet = new DatagramPacket ( new byte [ 0 ] , 0 ) ; try { socket . receive ( packet ) ; } catch ( SocketTimeoutException ex ) { if ( INFO ) info ( "kryonet" , "Host discovery timed out." ) ; return hosts ; } if ( INFO ) info ( "kryonet" , "Discovered server: " + packet . getAddress ( ) ) ; hosts . add ( packet . getAddress ( ) ) ; } } catch ( IOException ex ) { if ( ERROR ) error ( "kryonet" , "Host discovery failed." , ex ) ; return hosts ; } finally { if ( socket != null ) socket . close ( ) ; } }
broadcasts a udp message on the lan to discover any running servers .
