我有一些连接到特定网络的硬件设备,我有一个也在同一网络中运行的Java应用程序。我现在需要从我的Java应用程序中检测这些设备。规范是这样的:
我的Java程序必须发送一个主机名为
的UDP数据包 {"type":"HW-PROBER","hostname":"Host-NAME"}
收到此消息后,硬件会以Payload的形式向我发回一条响应,其响应如下:
{"type":"HW-NOTIFY","hostname":"Host-NAME","ip":"1.2.3.4"}
所以这样,我的Java应用程序必须获取硬件的IP地址并开始与之通信。我完全不知道如何进行设备发现。这是否意味着我的Java应用程序必须打开5000端口(例如。)并继续等待数据包?
我应该使用Java标准库中的哪种API?