So bloed es klingt, ich bring es nicht zusammen in meinem LAN einen Broadcast zu vollbringen^^.
Also die Situation ist die:
Ich arbeite an einem Chatprogramm (in Java dass aber nicht einenServer hat der immer verfuegebar ist, sondern der immer im LAN erstellt wird. Der Client soll automatisch den Server finden und sich zu ihm verbinden. --> Broadcast "HALLO SERVER WO BIST DU"?, der Server soll die Connection empfangen, annehmen, somit die Quell-IP nehmen und die Verbindung herstellen.
Vom Programmierteschnischen her kann ich alles.
Das einzige Problem ist eben dieser Broadcast.
Derzeit probiere ich es so:
Socket broadCastSocket = new Socket(calculator.getBroadCastAdress(), ConnectionData.broadCastPort);//IP: 192.168.0.255 PORT: 5274
broadCastSocket.getOutputStream().write("Hallo ich bin ein Broadcast".getBytes());
broadCastSocket.close();
Der Fehler lautet:java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine
Ist auch klar, da keine Verbindung zu den Verbotenen Adressen hergestellt werden darf (verboten: ... .0 und .255)
Irgend eine Ahnung wie ich anders einen Broadcast senden koennte, und auch wieder empfangen kann?
P.S. Platform: Windows
P.SS.Ich koennte natuerlich alle 254 Hosts pingen, und zu jedem eine Nachricht senden, aber der Aufwand ist dann eben hoeher. Wenn ihr meint einfach "Thread-pinging" machen, dann is des sehr Fehleranfaellig, aber naja wenns net geht werd ich s so machen muessen^^