Javaを使用してDHCPクライアントを作成しようとしています。クライアントは、Discoverを送信し、オファーを受信し、リクエストを送信し、Ackを受信します。ただし、ディスクバーと要求UDP DatagramPacketsを送信する場合、DHCPのポイントはDHCPサーバーから使用可能なIPアドレスを受信することであるため、IP0.0.0.0ポート68から送信する必要があります。ただし、 http://download.oracle.com/javase/6/docs/api/java/net/DatagramSocket.html Javaリファレンスによると、ソケットを0.0.0.0にバインドすると、カーネルはIPを割り当てます。ソケットへのアドレス。
イーサネットカードのIPアドレスを0.0.0.0に強制的に設定した場合
$ sudo ifconfig en0 0.0.0.0
パケットを送信します。私は受け取ります
java.io.IOException: Can't assign requested address
例外。
0.0.0.0からUDPパケットを送信し、System.exec()
Javaを使用してDHCPサーバーから受信したIPアドレスを(必要に応じて)設定する方法はありますか?