各位请问:
小弟初学java,参加java创意比赛,题目遇到困难,希望有高人能指点一二, 题目如下:
如何实现用java判断网络连接状态?
小弟想了两个办法,不知行不行的通:
1.ping自己的机器来判断是否连接到局域网内,ping一个固定的网站,比如百度,来判断是否连接到互联网……
2.监听windows的判断网络连接状态的那个小功能(就是托盘图标那里显示“网络电缆没有插好”的那个),来实现这个小程序的功能。
关键是ping怎么和java结合到一起,并且java怎样获得windows中的这个数据流?
说白了就是跟windows的这个判断网络连接状态的小功能一样,就是用java做出这个小程序取代windows中的这个,也许我表达的不对也许想的不够多,
分数不够多了,希望大家能帮我这个忙,先谢了
小弟初学java,参加java创意比赛,题目遇到困难,希望有高人能指点一二, 题目如下:
如何实现用java判断网络连接状态?
小弟想了两个办法,不知行不行的通:
1.ping自己的机器来判断是否连接到局域网内,ping一个固定的网站,比如百度,来判断是否连接到互联网……
2.监听windows的判断网络连接状态的那个小功能(就是托盘图标那里显示“网络电缆没有插好”的那个),来实现这个小程序的功能。
关键是ping怎么和java结合到一起,并且java怎样获得windows中的这个数据流?
说白了就是跟windows的这个判断网络连接状态的小功能一样,就是用java做出这个小程序取代windows中的这个,也许我表达的不对也许想的不够多,
分数不够多了,希望大家能帮我这个忙,先谢了
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;public class PingTest { public static void main(String[] args) throws IOException {
String url = "www.baidu.com";
// 方法一
System.out.println("方法一");
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("ping " + url);
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
String str = "";
while((str = br.readLine()) != null) {
str = str.trim();
if(str.length() > 0) {
System.out.println(str);
}
}
br.close();
// 方法二
System.out.println("方法二");
URL u = new URL("http://" + url);
try {
HttpURLConnection http = (HttpURLConnection)u.openConnection();
if(http.getResponseCode() != 200) {
System.out.println(url + " connection error.");
}else{
System.out.println(url + " connection success.");
}
}catch(Exception e) {
System.out.println(url + " connection error.");
}
}
}