在 Java 中,可以通过使用 Java 的网络编程技术来实现查找附近的设备。具体的做法如下:
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了宜良免费建站欢迎大家使用!
获取本机的 IP 地址和子网掩码,以计算出本机所在网络中的 IP 地址范围。
使用 for 循环和 InetAddress 类扫描网络中的每一个 IP 地址。
对于每一个 IP 地址,使用 isReachable() 方法判断其是否可达,如果可达则表明该 IP 地址对应的设备存在。
以下是一份简单的示例代码:
import java.net.InetAddress;
import java.net.UnknownHostException;
public class FindDevices {
public static void main(String[] args) throws UnknownHostException {
InetAddress localHost = InetAddress.getLocalHost();
String hostAddress = localHost.getHostAddress();
String subnet = hostAddress.substring(0, hostAddress.lastIndexOf(".") + 1);
for (int i = 1; i 256; i++) {
String host = subnet + i;
try {
InetAddress address = InetAddress.getByName(host);
if (address.isReachable(1000)) {
System.out.println(host + " is reachable");
}
} catch (Exception e) {
System.out.println(host + " is not reachable");
}
}
}
}
请注意,这是一份示例代码,其中的扫描范围和扫描方法可能不是最佳的,根据实际需要进行修改。
你是要比较2个ip是否在一个子网里吧?
把ip和子网掩码转换成二进制 做“按位与”运算 得出的就是网络id号a 另一个ip也是一样计算方法 得出网络id号b
比较a=b 就说明在一个子网 反之 不在
ip转换成二进制的时候 注意按段转
选修课吗,这么简单的都不会吗,几十个人都问,你们上课都睡觉的吧。201.99.1.33255.255.255.224201.99.1.65255.255.255.224201.99.1.97255.255.255.224201.99.1.129255.255.255.224201.99.1.161255.255.255.224201.99.1.193255.255.255.224