发送Json到php文件连接拒绝

时间:2014-11-25 13:43:54

标签: php android json

我试图将一些带有android的json数据发送到服务器。服务器是在我当地的WI-FI连接的覆盆子pi。 每次我尝试发送数据时,我的调试输出都会拒绝连接。但我无法弄清楚原因。

这是我的android方法:

public void sendJson(View view){
    String url = "http://192.168.0.5/control_center/functions/incomming.php";
    TextView textView_result;
    textView_result = (TextView) findViewById(R.id.textView_result);

    try {
        HttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(url);
        httpPost.setHeader("Content-Type" , "application/json");

        JSONObject jsonObject = new JSONObject();
        jsonObject.put("regid", "1234345893458435934kl34n543kl543öl53n4k5j43");
        String json = jsonObject.toString();

        StringEntity se = new StringEntity(json);

        httpPost.setEntity(se);
        HttpResponse httpResponse = httpClient.execute(httpPost);

        textView_result.setText(httpResponse.toString());

    }catch(JSONException e){
        e.printStackTrace();
    }catch(UnsupportedEncodingException e){
        e.printStackTrace();
    }catch(Exception e){
        e.printStackTrace();
    }
}

这是我服务器上的php文件:

<?php
include('db_connect.php');
$db = new _DB_Connect();
$db->connect();

if(isset($_POST['regid'])){
    $regid = $_POST['regid'];
    $save_entry = "insert into gcm_users (gcm_regid) values ('$regid')";
    mysql_query($save_entry) or die (mysql_error());
} else {
    echo 'no data';
}

&GT;

给出了关于android的Internet权限。

<uses-permission android:name="android.permission.Internet" />

2 个答案:

答案 0 :(得分:1)

可能有很多原因,但最常见的是:

  • 防火墙阻止计算机之间的访问(也检查本地防火墙)

  • 端口未在目标计算机上打开

检查防火墙并且端口已打开后,使用telnet连接到ip / port以测试连接。这可以消除您的应用程序中的任何潜在问题。

答案 1 :(得分:0)

好的,我在我的案子中解决了这个问题。 我知道互联网任务应该处于异步任务中,但我通过解决方法解决了这个问题:

    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);

现在连接正常。我这样做了,因为它对我来说更重要,我将数据传递给服务器。

不,我得到了这个输出,但遗憾的是我的数据库中没有数据:

“ 11-25 17:27:02.745 31868-31868 / com.development2014.cs.ajsontest3 D / libc:[NET] getaddrinfo +,hn 26(0x6373646576656c),sn(),family 0,flags 4 11-25 17:27:02.745 31868-31868 / com.development2014.cs.ajsontest3 D / libc:[NET] getaddrinfo-,err = 8 11-25 17:27:02.745 31868-31868 / com.development2014.cs.ajsontest3 D / libc:[NET] getaddrinfo +,hn 26(0x6373646576656c),sn(),family 0,flags 1024 11-25 17:27:02.745 31868-31868 / com.development2014.cs.ajsontest3 D / libc:[NET] getaddrinfo-,1 11-25 17:27:02.745 31868-31868 / com.development2014.cs.ajsontest3 D / libc:[NET] getaddrinfo_proxy + 11-25 17:27:02.815 31868-31868 / com.development2014.cs.ajsontest3 D / libc:[NET] getaddrinfo_proxy-,成功 11-25 17:27:02.815 31868-31868 / com.development2014.cs.ajsontest3 D / libc:[NET] getaddrinfo +,hn 13(0x3138382e313030),sn(),family 0,flags 4 11-25 17:27:02.815 31868-31868 / com.development2014.cs.ajsontest3 D / libc:[NET] getaddrinfo-,SUCCESS 11-25 17:27:02.865 31868-31868 / com.development2014.cs.ajsontest3 I / System.out:org.apache.http.message.BasicHttpResponse@41f848d8 11-25 17:27:02.865 31868-31868 / com.development2014.cs.ajsontest3 I / System.out: {“regid”:“blablabla”} '