IP查询系统的异步回调案例-创新互联
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
创新互联主营市中网站建设的网络公司,主营网站建设方案,成都app软件开发,市中h5微信小程序定制开发搭建,市中网站营销推广欢迎市中等地区企业咨询话不多说,请看代码:
package com.lxj.demo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; public class Http extends Thread{ // 下载结束的回调接口 public interface IResult{ void success(String msg); void fail(String msg); } // 创建网络地址的引用 String addr; // 创建回调接口的引用 IResult iResult ; // 生成构造方法把网络和接口的引用传进去 public Http(String addr, IResult iResult) { super(); this.addr = addr; this.iResult = iResult; // 开启线程 线程一开启就产生了异步 start(); } @Override // 重写线程的run方法,只要是网络就要用到多线程 public void run() { try { // 创建URL,把网络地址传进去 URL url = new URL(addr); try { // 利用字符缓冲读取流读取网络数据 BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream())); // 创建stringbuffer对象 StringBuffer sb = new StringBuffer(); // 创建一个临时储存字符串的变量 String temp; // 当temp不为空是就一直读取数据 while ((temp = br.readLine()) != null) { sb.append(temp); } // 数据读取成功后 // 把读取的所有数据传到回调接口,再由接口传出去 iResult.success(sb.toString()); } catch (IOException e) { e.printStackTrace(); } } catch (MalformedURLException e) { e.printStackTrace(); // 网络请求发生异常 iResult.fail("网络请求失败"); } } }
文章标题:IP查询系统的异步回调案例-创新互联
文章起源:http://myzitong.com/article/phcgg.html