【发布时间】:2015-06-26 21:17:09
【问题描述】:
我正在尝试编写一个在 Java 中显示 DHCP 客户端列表的程序。我想获取连接到我的 wifi 网络的所有设备的 IP 地址、MAC 地址 和 主机名。
我有一个贝尔金路由器。它的主页有一个“DHCP 客户端列表”选项,单击该选项会显示此表:
这正是我正在寻找的。但我想在 Java Swing 程序中以列表的形式显示所有这些数据。我还希望能够通过按刷新按钮来更新此列表。有什么方法可以实现吗?
它应该看起来像这样:
我编写了一个基本的 java 程序,显示所有在线的 IP 地址。这是代码:
public static void main(String[] args) throws IOException {
InetAddress localhost = InetAddress.getLocalHost();
// this code assumes IPv4 is used
byte[] ip = localhost.getAddress();
for (int i = 1; i <= 254; i++)
{
ip[3] = (byte)i;
InetAddress address = InetAddress.getByAddress(ip);
if (address.isReachable(1000))
{
// machine is turned on and can be pinged
System.out.println(address + "is online");
}
else if (!address.getHostAddress().equals(address.getHostName()))
{
// machine is known in a DNS lookup
System.out.println(address + "is in a DNS lookup");
}
else
{
// the host address and host name are equal, meaning the host name could not be resolved
System.out.println(address + " is not online");
}
}
}
但这并没有达到目的,而且真的很慢。我想编写一个Swing 程序,它会显示如上图所示的DHCP 客户端列表。
感谢任何帮助。
【问题讨论】:
-
您的问题似乎有点宽泛。您想创建一个 Swing 程序来显示数据,很好,但是您特别坚持哪一步?您的 Swing 代码尝试在哪里?您是否将问题分解为小的组成步骤并尝试一次解决每个步骤?如果没有,我想你会想从这个开始。
-
@HovercraftFullOfEels 我被困在从路由器的 Web 界面获取数据并将其发送到我的 Java Swing 程序的步骤上。我不知道如何开始。请用代码指导我。
-
@Camickr 请帮帮我
标签: java swing network-programming