有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

调试/SntpClient(70):请求时间失败:java。网SocketException:Android上的协议不支持地址族

我创建如下代码:

try {
    int ct_id;
    String ct_name;
    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://10.0.2.2/update.php");
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        is = entity.getContent();
    }catch(Exception e){
        Log.e("log_tag", "Error in http connection"+e.toString());
    }
    //convert response to string
    try{
        BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
        sb = new StringBuilder();
        sb.append(reader.readLine() + "\n");
        String line="0";
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
        is.close();
        result=sb.toString();
    }catch(Exception e){
        Log.e("log_tag", "Error converting result "+e.toString());
    }
    //paring data
    int max = 0;
    try{
        jArray = new JSONArray(result);
        JSONObject json_data=null;
        for(int i=0;i<jArray.length();i++){
            json_data = jArray.getJSONObject(i);
            ct_id=json_data.getInt("max(id)");
            ct_name=json_data.getString("date");
            max = ct_id;
        }
    }
    catch(JSONException e1){

} catch (ParseException e1) {
    e1.printStackTrace();
}

但当我调试时,它出现了:

07-03 08:50:42.657: DEBUG/SntpClient(70): request time failed: java.net.SocketException: Address family not supported by protocol

这是什么意思?如何解决呢


共 (1) 个答案

  1. # 1 楼答案

    这看起来像一个本地url,你确定你的apache运行在端口80上吗?你能试着在桌面浏览器中访问这个url http://10.0.2.2/update.php吗?你看得清楚吗。此错误通常仅在套接字无法与服务器建立连接时出现