新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
IP查詢系統(tǒng)的異步回調(diào)案例-創(chuàng)新互聯(lián)
創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
話不多說,請(qǐng)看代碼:
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{ // 下載結(jié)束的回調(diào)接口 public interface IResult{ void success(String msg); void fail(String msg); } // 創(chuàng)建網(wǎng)絡(luò)地址的引用 String addr; // 創(chuàng)建回調(diào)接口的引用 IResult iResult ; // 生成構(gòu)造方法把網(wǎng)絡(luò)和接口的引用傳進(jìn)去 public Http(String addr, IResult iResult) { super(); this.addr = addr; this.iResult = iResult; // 開啟線程 線程一開啟就產(chǎn)生了異步 start(); } @Override // 重寫線程的run方法,只要是網(wǎng)絡(luò)就要用到多線程 public void run() { try { // 創(chuàng)建URL,把網(wǎng)絡(luò)地址傳進(jìn)去 URL url = new URL(addr); try { // 利用字符緩沖讀取流讀取網(wǎng)絡(luò)數(shù)據(jù) BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream())); // 創(chuàng)建stringbuffer對(duì)象 StringBuffer sb = new StringBuffer(); // 創(chuàng)建一個(gè)臨時(shí)儲(chǔ)存字符串的變量 String temp; // 當(dāng)temp不為空是就一直讀取數(shù)據(jù) while ((temp = br.readLine()) != null) { sb.append(temp); } // 數(shù)據(jù)讀取成功后 // 把讀取的所有數(shù)據(jù)傳到回調(diào)接口,再由接口傳出去 iResult.success(sb.toString()); } catch (IOException e) { e.printStackTrace(); } } catch (MalformedURLException e) { e.printStackTrace(); // 網(wǎng)絡(luò)請(qǐng)求發(fā)生異常 iResult.fail("網(wǎng)絡(luò)請(qǐng)求失敗"); } } }
網(wǎng)頁標(biāo)題:IP查詢系統(tǒng)的異步回調(diào)案例-創(chuàng)新互聯(lián)
當(dāng)前地址:http://www.ef60e0e.cn/article/phcgg.html