M
microtux
Gast
Hallo!
Bin gerade dabei, eine DHCP-API zu schreiben, um mir den Umgang mit NIO und UDP anzulernen. Ich bin jetzt schon soweit, dass ich Broadcasts empfange und DHCP-Pakete zur Antwort erstellen kann (als ByteBuffer/byte-Array). Nur wie broadcaste ich diesen ByteBuffer jetzt in mein Netz? Mit DatagramChannel.send() und 255.255.255.255:68 als InetSocketAddress spuckt er mir eine Exception (kann leider gerade nicht testen, welche, sobald ich einen 2. pc da hab, poste ichs), genauso bei DatagramChannel.socket().send(). Kann ich diese Methoden überhaupt zum Broadcasten verwenden? Hier mein Code:
Vielen Dank schon mal!
MfG microtux
Bin gerade dabei, eine DHCP-API zu schreiben, um mir den Umgang mit NIO und UDP anzulernen. Ich bin jetzt schon soweit, dass ich Broadcasts empfange und DHCP-Pakete zur Antwort erstellen kann (als ByteBuffer/byte-Array). Nur wie broadcaste ich diesen ByteBuffer jetzt in mein Netz? Mit DatagramChannel.send() und 255.255.255.255:68 als InetSocketAddress spuckt er mir eine Exception (kann leider gerade nicht testen, welche, sobald ich einen 2. pc da hab, poste ichs), genauso bei DatagramChannel.socket().send(). Kann ich diese Methoden überhaupt zum Broadcasten verwenden? Hier mein Code:
Code:
//Parameter: Host-IP, neue Client-IP und Hostname
ByteBuffer toSend =dhcpPacket.createOfferPacket(new byte[]{(byte) 192, (byte) 168, 0, (byte) 190}, new byte[]{(byte) 192, (byte) 168, 0, (byte) 199}, new byte[64]).toByteBuffer();
//DHCP-Client-Port: 68
getChannel().send(toSend, new InetSocketAddress("255.255.255.0", 68));
Vielen Dank schon mal!
MfG microtux