【发布时间】:2021-12-31 13:52:43
【问题描述】:
我是 java 新手,我正在尝试找到一种通过用户输入 IP 地址范围递增的方法。
例如从192.168.0.1 到192.168.0.255。然而,我的应用程序目前的工作方式是将 from 和 ip 地址作为String。
有没有一种方法可以增加用户输入 from 和 to 的所有 IP 地址?
希望这是有道理的,请不要喷我,我已经在寻找答案了!
编辑!
它实际上是通过地址范围ping,所以到目前为止,这里有一个小代码,“主机”是从另一个类传入的,我想循环访问地址:
public static String stringPing(String stringPing, String host){
String ipAddress;
ipAddress = host;
try
{
InetAddress inet = InetAddress.getByName(ipAddress);
boolean status = inet.isReachable(2000);
if (status)
{
stringPing = "\n" +host +" is reachable";
return stringPing;
}
else
{
stringPing = "\n" +host +" is unreachable";
return stringPing;
}
}
catch (UnknownHostException e)
{
System.err.println("Host does not exists");
}
catch (IOException e)
{
System.err.println("Error in reaching the Host");
}
return stringPing;
}
【问题讨论】:
-
如果你想让人们帮忙,你必须展示一些代码。您的问题也有点令人困惑..“增量通过”是什么意思..您的意思是迭代通过吗?如果您可以保证用户输入格式正确,则可以将其拆分为句点并使用
parseInt进行编号,然后继续直到到达255。 -
from 和 to 地址由用户输入。我必须找到一种方法来循环浏览用户输入的范围......
-
请参阅下面的@Dims 回答。这是正确的方法,适用于任何 IP 范围(不仅仅是 C 类)。 IPv4 地址只是网络字节顺序(大端)的 4 字节整数。
-
谢谢一百万,只是查看了一些答案,Dims 看起来很适合:)