| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1433 人关注过本帖
标题:[求助]如何判断网络已经断开??急啊
只看楼主 加入收藏
dingoo
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-10-10
收藏
 问题点数:0 回复次数:8 
[求助]如何判断网络已经断开??急啊
最近想做一些网络程序,有一难题请教高手:
就是应该如何判断网络是否中断?
我用InetAddress.getByName("www.sina.com").isReachable(1000)在没通网时可以检测网络是否是通着的,返回的是false,此时如果插上网线通网后也能立刻反应过来,此语句返回true;可问题是再次拔掉网线后它始终无法检测出已经断网了,一直反回true.不知何解??
请问该如何判断已经断网?最好给点代码研究研究...谢啦
搜索更多相关主题的帖子: 网络 sina 判断 难题 
2007-02-13 17:19
ILoveMK
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:487
专家分:0
注 册:2007-2-12
收藏
得分:0 

用java调用cmd的ping命令


天下归心
2007-02-13 17:36
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
返回true是正常的,因为你们建立连接后就再也没有消息进行流通了。
如果这个时候你向www.sina.com发送东西,那么就会catch到异常。这个时候就判断为网络断开

淘宝杜琨
2007-02-13 18:33
dingoo
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-10-10
收藏
得分:0 

发消息怎么发呢?具体用什么类的什么方法?谢了


2007-02-13 20:11
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
不用管它的,你尽管继续你的程序~~记得加上catch就可以了

淘宝杜琨
2007-02-13 20:18
dingoo
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-10-10
收藏
得分:0 

catch我加了啊,可就是捕捉不到啊,一直反回那个true.郁闷死了.


2007-02-13 20:37
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
把你那部分的代码给我看看,我做个例子给你

淘宝杜琨
2007-02-13 20:52
dingoo
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-10-10
收藏
得分:0 
t1=new Thread(){
public void run(){
boolean networkReachable = true;
while(true){
try {
networkReachable = InetAddress.getByName("www.sina.com").isReachable(1500); //超时1500ms
if(networkReachable==true){
pane.startRun=true;

}else{
pane.startRun=false;

}

} catch (Exception ex) {
pane.startRun=false;
System.out.println(ex);
}


try{
Thread.sleep(1000);
}catch(Exception e){

}
}
}
};
麻烦了....

2007-02-13 21:28
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
import java.io.IOException;
import java.net.URL;
import java.net.UnknownHostException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

/**
*
* @author vlinux
*/
public class HelpA {

/** Creates a new instance of HelpA */
public HelpA() {
try {
URL url = new URL("http://www.csdn.net/");

//程序暂停5秒让你断开网络
//如果你在此其间断掉网路,
//那么将会抛出UnknownHostException异常
try {
Thread.sleep(1000*5);
} catch (InterruptedException ex) {
ex.printStackTrace();
}

//假设的工作
BufferedReader br =
new BufferedReader(new InputStreamReader(url.openStream()));
while( br.ready() ) {
System.out.println(br.readLine());
}
br.close();


} catch (UnknownHostException ex) {
ex.printStackTrace();
//如果网络断开则会出现UnknownHostException异常
} catch (IOException ex) {
ex.printStackTrace();
}
}

public static void main(String... args) {
new HelpA();
}

}

[此贴子已经被作者于2007-2-14 10:31:43编辑过]


淘宝杜琨
2007-02-14 10:30
快速回复:[求助]如何判断网络已经断开??急啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028999 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved