
正文
java示例代码网站 java开源代码网站
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Java如何通过网络进行寻找附近的设备,附源码?
在 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");
}
}
}
}
请注意,这是一份示例代码,其中的扫描范围和扫描方法可能不是最佳的,根据实际需要进行修改。
相关问答
Q1: 求socket有返回有发送的多线程java示例代码
服务端
package test;
import java.net.*;
import java.io.*;
public class Server {
private ServerSocket ss;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Server() {
try {
ss = new ServerSocket(10000);
socket = ss.accept();
int i=0;
while (true) {
i++;
System.out.println("server "+i);
String RemoteIP = socket.getInetAddress().getHostAddress();
String RemotePort = ":" + socket.getLocalPort();
System.out.println("+A client come in!IP:" + RemoteIP
+ RemotePort);
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
String line = in.readLine();
System.out.println("++Cleint send is :" + line);
out = new PrintWriter(socket.getOutputStream(), true);
out.println("+++Your Message Received!");
// out.close();
// in.close();
// socket.close();
}
} catch (IOException e) {
out.println("++++wrong");
}
System.out.println("服务端不会结束");
}
public static void main(String[] args) {
new Server();
}
};
客户端
package test;
import java.io.*;
import java.net.*;
public class Client {
Socket socket;
BufferedReader in;
PrintWriter out;
public Client() {
try {
System.out.println("-Try to Connect to 127.0.0.1:10000");
socket = new Socket("127.0.0.1", 10000);
System.out.println("--The Server Connected!");
System.out.println("---Please enter some Character:");
BufferedReader line;
int i=0;
while(true){
i++;
System.out.println("client "+i);
line = new BufferedReader(new InputStreamReader(
System.in));
out = new PrintWriter(socket.getOutputStream(), true);
out.println(line.readLine());
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
System.out.println("----"+in.readLine());
// out.close();
// in.close();
// socket.close();
}
} catch (IOException e) {
out.println("-----Wrong");
}
System.out.println("客户端不会结束");
}
public static void main(String[] args) {
new Client();
}
};
Q2: 学习Java应该关注哪些网站
推荐10个常用的Java网站
Stackoverflow
Stackoverflow.com 可能是编程界中最流行的网站了,该网站有成千上万个好问题和答案。学习API或者编程语言,通常依赖于代码示例,stackoverflow就可以提供大量的代码片段。
Stackoverflow的另一个优点在于它的社交性。你可以在一些特定的标签下查看问题,比如“Java”、“regex”,你就会看到哪些是高频问题。这对于学习,以及Java博主书写热门话题都是一种非常好的资源。
DZone
这是一个非常有趣的网站,有相当多的开发者在这个网站上分享他们博客文章。就像一场冒险一样,在这里,你永远不知道下一秒会看到什么内容。
LeetCode
如果有Java方面的面试问题,例如“在Java中,内存中的数组是什么样的”,你可以从很多Java教程中找到答案。但是,遇到类似于“如何将SortedArray转化成一个BalancedTree”这样的问题,你就应该去求助LeetCode了。LeetCode包含一系列算法问题, 它能为有关信息技术的面试提供一个社会性的平台。这个网站最好的地方就是,它可以通过大小不同的数据在线检查你的代码是否正确。很多人认为,面试成功的关键在于重复这三个重要步骤:编码-阅读-讨论。
Java SE技术文档
这个网站包含了在使用Java SE API时会用到的所有文档,即使你是Java开发牛人,我敢肯定在这里你仍能发现一些有用的东西。比如,你可以阅读一些像“Java类的本质”、“部署”这样的教程。
Github
你也许知道可以免费的将你的项目托管在哪,但你不一定知道它还是一个学习当今流行的Java库和框架的优秀资源。比如,你想学 Spring MVC Framework,你可以搜索并且找到一些开源的项目。遵循“照葫芦画瓢”的原则,你能够通过实例快速的学习框架,尤其是你已经具有使用类似框架的经验。
Coursera
这是有关视频讲座的最好网站,在这里你可以找到许多顶尖学校的著名教授的优秀计算机科学课程。这些教授中,有些甚至是一些计算机科学领域的发明者。
Java World
这个网站包含了大量的Java教程,涉及各种各样的话题。其中很多文章都写的很好,并且有图片、插图进行说明。它可以被用来当作深度学习的教科书。
DevStore
这个网站是针对开发者做的一个服务商店,为开发者提供从设计开发到运营推广一站式的解决方案。开发者在任何阶段需要某种服务时,都可通过DevStore进行参数对比,查看评测、快速体验等来了解,不再需要一一搜索。
Wikipedia 维基百科
这个网站是查询或学习几乎所有概念的最好的资源之一。例如,作为一个资深的Java开发人员,你可能只是想了解一些概念并不想深度研究。这里是一个可以免费查询最新信息的好地方。例如,什么是面向服务的编程?另外,它还能为你的写作提供大量素材。比如,同一个词在不同的领域可能会有完全不同的含义。有时,研究这些词在不同领域的不同含义是非常有意思的。
Program Creek
与以上几个网站相比,Programcreek.com在规模上要小很多。但是规模小也有优点,它在维护方面做的更好,读起来更有趣。在这里,你可以找到其他任何网站都不曾涉及到的话题,而且几乎每篇文章都包含漂亮的插图或者示例代码。它包含了来自不同领域的人发表的文章(科研、工业),并且经常为Java开发者提供优质材料。希望有一天,它也会出现在一些人的网站前十名排行名单中。
注:当然,对于Java开发牛人来说还有很多其它不错的网站。如果你认为有其他的网站也应该列在这里,请留言,我以后也会加进去的。谢谢。
Q3: 求Java代码
使用循环结构java示例代码网站,通过Scanner类从控制台输入每个人java示例代码网站的捐款金额,并累加每个人java示例代码网站的捐款金额,计算捐款总数和捐款人数,如果捐款总数达到10万元,则计算平均每人捐款金额。
下面是通过输入进行统计,实际过程中还能是通过数据库进行操作,或者表格收集数据进行导入关系数据库进行统计。还可以通过接入微信或者支付宝小程序收款实时统计。
已经有人给过随机数示例,这里给出前端输入java示例代码网站的示例:
import java.util.Scanner;
public class CharityDonation { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int num = 0; // 捐款人数
int total = 0; // 募捐总数
int avg = 0; // 平均每人捐款金额
int donation; // 每个人的捐款金额
while (total 100000 num 1000) {
System.out.print("请输入第" + (num + 1) + "个人的捐款金额:");
donation = scanner.nextInt();
total += donation;
num++;
} if (total = 100000) {
avg = total / num;
System.out.println("捐款总数已达到10万元,捐款人数为" + num + ",平均每人捐款金额为" + avg + "元。");
} else {
System.out.println("征集慈善募捐失败,募捐总数未达到10万元。");
}
scanner.close();
}
}
关于java示例代码网站和java开源代码网站的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






