android根据ip获取域名_android常用工具类 通过域名获取ip
/**
* 编写多线程程序是为了实现多任务的并发执行,从而能够更好地与用户交互。
* 一般有三种方法,Thread,Runnable,Callable.
* Runnable和Callable的区别是,
* (1)Callable规定的方法是call(),Runnable规定的方法是run().
* (2)Callable的任务执行后可返回值,而Runnable的任务是不能返回值得
* (3)call方法可以抛出异常,run方法不可以
* (4)运行Callable任务可以拿到一个Future对象,表示异步计算的结果。
* 它提供了检查计算是否完成的方法,以等待计算的完成,并检索计算的结果
* 通过Future对象可以了解任务执行情况,可取消任务的执行,还可获取执行结果。
*/
/**
* 编写多线程程序是为了实现多任务的并发执行,从而能够更好地与用户交互。
* 一般有三种方法,Thread,Runnable,Callable.
* Runnable和Callable的区别是,
* (1)Callable规定的方法是call(),Runnable规定的方法是run().
* (2)Callable的任务执行后可返回值,而Runnable的任务是不能返回值得
* (3)call方法可以抛出异常,run方法不可以
* (4)运行Callable任务可以拿到一个Future对象,表示异步计算的结果。
* 它提供了检查计算是否完成的方法,以等待计算的完成,并检索计算的结果
* 通过Future对象可以了解任务执行情况,可取消任务的执行,还可获取执行结果。
*/
import java.net.UnknownHostException;
import java.net.InetAddress;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class PublicIPResolver {
/**
* 通过域名获取ip
*
* @param host
*
*/
public static String getPublicIp(String host) {
try {
ExecutorService exec = Executors.newCachedThreadPool();
Future fs = exec.submit(new GetPublicIPTask(host));
return fs.get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
return null;
}
static class GetPublicIPTask implements Callable {
String host;
public GetPublicIPTask(String host) {
this.host = host;
}
@Override
public String call() throws Exception {
InetAddress inetAddress;
try {
inetAddress = java.net.InetAddress.getByName(host);
String ip = inetAddress.getHostAddress();// 获取主机ip
return ip;
} catch (UnknownHostException e) {
e.printStackTrace();
return null;
}
}
}
}
android根据ip获取域名_android常用工具类 通过域名获取ip相关推荐
- 【转】 Android快速开发系列 10个常用工具类 -- 不错
原文网址:http://blog.csdn.net/lmj623565791/article/details/38965311 转载请标明出处:http://blog.csdn.net/lmj6235 ...
- Android快速开发系列 10个常用工具类
目录(?)[+] 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38965311,本文出自[张鸿洋的博客] 打开大家手上的项目,基 ...
- Android开发常用工具类集合
转载自:https://blog.csdn.net/xiaoyi_tdcq/article/details/52902844 Android开发常用工具类集合 android开发中为了避免重复造轮子, ...
- java file ip_java常用工具类 IP、File文件工具类
本文实例为大家分享了java常用工具类的具体实现代码,供大家参考,具体内容如下 IP工具类 package com.jarvis.base.util; import java.io.IOExcepti ...
- Android 常用工具类,终局之战
只要在Application 初始化即可 public class AndroidUtilsApplication extends Application { @Override public voi ...
- Android开发 几个常用工具类
本文出自[张鸿洋的博客]并 做了部分修改. 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38965311 打开大家手上的项目,基 ...
- Android 常用工具类转换
Android 常用单位转换的工具类 1. 常用单位转换的工具类 /*** 常用单位转换的工具类*/ public class ViewUtil {private ViewUtil() {/** ca ...
- 操作SD卡,获取文件目录及文件工具类Android,listView
操作SD卡,获取文件目录及文件工具类Android 1.获取文件目录及文件工具类: DirectoryInfo FileScan 1.1 DirectoryInfo: package com.gls ...
- javascript 总结(常用工具类的封装)(转)
转载地址:http://dzblog.cn/article/5a6f48afad4db304be1e7a5f javascript 总结(常用工具类的封装) JavaScript 1. type 类型 ...
最新文章
- 数组-二维数组中的查找
- 各方评论《面向儿童的人工智能北京共识》:这是中国人工智能发展轨迹中的一份关键文件...
- 一文读懂MQTT协议
- 使用Session防止表单重复提交
- ubuntu: no module named _sqlite
- JS 创建自定义对象的方法
- css --- 行内框和内容区
- arm中断保护和恢复_嵌入式ARM系统异常和中断处理知识总结
- 小学音乐教学和计算机的融合,小学学科教学与计算机深度融合赛课心得体会(共4篇)...
- C++ vector库学习笔记
- 微课|中学生可以这样学Python(5.1.3节):列表常用方法
- java request获取域,Java Web - Servlet(13)HttpServletRequest详解(获取请求数据、请求分派、请求域)(二)...
- Opencv 中 Mat中元素的值读取方法总结
- ios visio流程图_Mac下有如Visio一样好用的流程图软件吗?
- PHP编写两个数的最小公倍数,两个数的最小公倍数怎么求
- Python 深拷贝和浅拷贝详解
- MVC《中国电信》项目研发总结
- flex布局---某个子元素独占一行
- linux下登录ftp使用lftp命令详解
- oracle触发器如何调试
热门文章
- iOS调用系统相机文字改为中文
- java 初识对象和对象引用的关系
- 给一个ul列表中点击到的li赋予样式
- ASP.NET Aries JSAPI 文档说明:AR.Form、AR.Combobox
- 求逆元 - HNU 13412 Cookie Counter
- NSStream线程阻塞处理
- php解析ip列表并入库
- yahoo註冊.com 域名1.99$/年
- 一步一步学Silverlight 2系列(3):界面布局
- .asmx支持post请求或者get请求调用(WebService 因 URL 意外地以 结束,请求格式无法识别 的解决方法)...