8 Stimmen

Java DatagramSocket hört auf einer Broadcast-Adresse

Ich habe eine einfache Testklasse geschrieben, die auf Eth hören und alle Daten empfangen soll. UDP Pakete, die an den Hafen gehen 5001 :

public class Main {

  public static void main(String[] args) throws SocketException, UnknownHostException, IOException {
    DatagramSocket socket = new DatagramSocket(5001, InetAddress.getByName("255.255.255.255"));
    socket.setBroadcast(true);
    System.out.println("Listen on " + socket.getLocalAddress() + " from " + socket.getInetAddress() + " port " + socket.getBroadcast());
    byte[] buf = new byte[512];
    DatagramPacket packet = new DatagramPacket(buf, buf.length);
    while (true) {
      System.out.println("Waiting for data");
      socket.receive(packet);
      System.out.println("Data received");
    }
  }
}

Es funktioniert nicht mehr. Er druckt aus Waiting for data tcpdump zeigt mir, dass UDP-Broadcast-Pakete kommen. Was mache ich falsch? Ich danke Ihnen vielmals.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X