サブネット全体の特定のポートでリッスンしているすべてのノードにブロードキャストする単純な UDP ハートビートを作成しようとしています。
クライアント DatagramSocket の作成/バインドに問題があります。私はこのようなコードを試しています:
// My IP is 192.168.201.57, so I'm using 192.168.201.255 for broadcast. Right?
val socket = new DatagramSocket(9099, InetAddress.getByName("192.168.201.255"))
これにより例外が発生しました: java.net.BindException: 要求されたアドレスを割り当てることができません。
同じ結果で 255.255.255.255 も試しました。別の投稿で読んだものに基づいて、次のようなことも試しました。
val socket = new DatagramSocket(null)
socket.bind( new InetSocketAddress(broadcastIp, port) ) // where I tried several broadcastIp values
これも同じ例外を与えました。また、別のポート値を試して、試しているポートがマシン上で他に使用されていないことを確認したことも付け加えておきます。