Android 客户端选择响应最快的一个服务器

package com.csst.activity;
import java.io.IOException;
import com.csst.drawer.R;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.os.SystemClock;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
/**
 * Looper,MeeageQueue!
 * 
 * @author Administrator
 *
 */
public class LooperDemoActivity extends Activity {
    
    protected static int messageQueueIndexId=0;
    
    private String [] serverAdd={"www.cnblogs.com","www.iconpng.com","www.baidu.com","developers.google.com"};
        /**
     * 
     *测试ping成功的时间
     * 
     * @param addr
     * @return
     */
    public long pingSuccessTime(String addr){
     Runtime run = Runtime.getRuntime();
  
  Process proc = null;
  
  long nowtime=System.currentTimeMillis();
  
  try {
   
   String str = "ping -c 1 -i 0.2 -W 1 "+ addr;
   
   System.out.println(str);
   
   proc = run.exec(str);
   
   int result = proc.waitFor();
   
   if(result == 0) //ping 成功
   {
    long pingSuccesstime=System.currentTimeMillis()-nowtime;
    Log.e("ping",addr+pingSuccesstime+"");
    return pingSuccesstime;
   }else{
    Log.e("ping",addr+"pingSuccesstime:"+55554);
    return 55554;
   }
   
  } catch (IOException e) {
   e.printStackTrace();
  } catch (InterruptedException e) {
   e.printStackTrace();
  } finally {
   proc.destroy();
  }
  Log.e("ping",addr+"pingSuccesstime:"+55554);
  return 55554;
  
  
    }
    
    
    
    
    
    
    
    
    
    
    @Override 
    public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.looper_demo_activity); 
    
    long timeTemp=55555;
    int  index=0;
    
    for(int i=0;i<serverAdd.length;i++){
     long time=pingSuccessTime(serverAdd[i]);
     if(time<timeTemp){
      index=i;
     }
     timeTemp=time;
    }
    
    Log.e("ping","最短"+index);
    }     
    
}

转载于:https://my.oschina.net/zengliubao/blog/489546

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值