CustomHttpClient.executeHttpPost, предоставляющий исключение ConnectTimeoutException - PullRequest
0 голосов
/ 11 февраля 2012

У меня есть некоторые проблемы с таймаутом при запросе моего login.php

02-10 20: 23: 26.361: V / (1084): org.apache.http.conn.ConnectTimeoutException:Соединение с /10.0.2.2:8082 тайм-аут

LoginActivity.java

response = CustomHttpClient.executeHttpPost("http://10.0.2.2:8082/login/login.php",postParameters); 

В CustomHttpClient.java Я получаю тайм-аут после выполнения в конце.

HttpClient client = getHttpClient();
HttpPost request = new HttpPost(url);
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParameters);
request.setEntity(formEntity);
HttpResponse response = client.execute(request);

Тайм-аут приходитчерез 5 секунд я использовал

public static final int HTTP_TIMEOUT = 5 * 1000; 
private static HttpClient getHttpClient() {
        if (mHttpClient == null) {
            mHttpClient = new DefaultHttpClient();
            final HttpParams params = mHttpClient.getParams();
            HttpConnectionParams.setConnectionTimeout(params, HTTP_TIMEOUT);
            HttpConnectionParams.setSoTimeout(params, HTTP_TIMEOUT);
            ConnManagerParams.setTimeout(params, HTTP_TIMEOUT);
        }
        return mHttpClient;
    }

в методе executeHttpPost

Мой login.php выглядит следующим образом.

<?php
$hostname = 'localhost';
$username = 'root';
$pws = 'test';

try {
    $name = $_POST['name'];
    $pw = $_POST['pw'];

    $dbh = new PDO("mysql:host=$hostname;dbname=toDoList", $username, $pws);

    $stmt = $dbh->prepare("SELECT * FROM account WHERE name = '$name'");
    $stmt->execute();

    $result = $stmt->fetchAll();

    foreach($result as $row)
        {
            echo ($pw == $row['password'] ? '1' : '0');
        }

    }
        catch(PDOException $e)
    {
    echo $e->getMessage();
    }
?>

1 Ответ

0 голосов
/ 11 февраля 2012
  1. Убедитесь, что URL-адрес, на который вы указываете, действительно доступен при доступе из обычного браузера на вашем компьютере.
  2. Если 1) успешно, убедитесь, что вы можете получить к нему доступ из браузера вэмулятор.Если этого не произойдет, отключите компьютер и повторите попытку, включив только беспроводную связь.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...