java中判断网络是否连通
2013-12-02 19:48
260 查看
前段时间在项目中做了一个发送短信的功能,直到项目上线后,才发现了自己菜鸟的本质——考虑问题的不周全。发送短信,在我们的系统中会自动生成短信内容并且构造好联系人、电话等一条字段,插入到另外一个地方的数据库,由他们连接运营商发送短信至用户。但使用中有一段时间,我这边的系统显示短信生成正常,而用户却没有收到短信,在百分百确定代码没有问题后,咨询了一个老鸟,才知道,发短信前是需要判断一下那边的IP是否能ping通的,如果ping不同,你这边的短信插不过去,系统就会一直等待,造成延迟。
从老鸟那请教了一下,原来只需要加几行代码,就能完成这个工作,豁然开朗之际,把我的喜悦分享给大家。
使用中发现,如果需要判断系统连接一个url是否正常,试用URL中的openStream()方法是非常便捷的。
从老鸟那请教了一下,原来只需要加几行代码,就能完成这个工作,豁然开朗之际,把我的喜悦分享给大家。
使用中发现,如果需要判断系统连接一个url是否正常,试用URL中的openStream()方法是非常便捷的。
package com.cjj.client; import java.io.IOException; import java.io.InputStream; import java.net.InetAddress; import java.net.URL; public class InetJavaTest { private static String remoteInetAddr = "59.231.36.59";//需要连接的IP地址 /** * 传入需要连接的IP,返回是否连接成功 * @param remoteInetAddr * @return */ public static boolean isReachable(String remoteInetAddr) { boolean reachable = false; try { InetAddress address = InetAddress.getByName(remoteInetAddr); reachable = address.isReachable(5000); } catch (Exception e) { e.printStackTrace(); } return reachable; } public static void main(String[] args) { URL url = null; Boolean bon = false; try { url = new URL("http://baicu.com/"); InputStream in = url.openStream();//打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream System.out.println("连接正常"); in.close();//关闭此输入流并释放与该流关联的所有系统资源。 } catch (IOException e) { System.out.println("无法连接到:" + url.toString()); } bon = isReachable(remoteInetAddr); System.out.println("pingIP:" + bon); } }
相关文章推荐
- java判断网络是否连通
- java中发送短信和邮件网络是否连通的判断
- 使用API判断网络是否连通
- C# 检查网络是否连通 判断远程文件是否存在 C#获取程序路径的方法中需要注意的地方
- java中判断socket网络远端是否断开连接
- java中判断socket网络远端是否断开连接
- java中判断socket网络远端是否断开连接
- Android功能点(一)——判断网络是否真正连通
- 工具函数(JAVA)---判断url是否为网络地址
- 使用API判断网络是否连通(InternetGetConnectedState / IsNetworkAlive)
- Android开发之java代码工具类。判断当前网络是否连接并请求下载图片
- 使用InternetGetConnectedState这个API判断网络是否连通
- [置顶] Android开发之java代码工具类。判断当前网络是否连接并请求下载图片
- 使用InternetGetConnectedState这个API判断网络是否连通
- 使用API判断网络是否连通(InternetGetConnectedState / IsNetworkAlive)
- Java网络编程从入门到精通(12):使用isReachable方法探测主机是否可以连通
- 判断网络是否连通
- Android判断当前网络是否可用(数据流量是否连通)
- 使用API判断网络是否连通(InternetGetConnectedState / IsNetworkAlive)
- 判断FreeEIM网络是否连通(c/c++)