2014-02-02 3 views
0

Я пишу приложение, которое должно иметь доступ к веб-серверу на моем ноутбуке. Телефон, который я разрабатываю, действует как точка доступа WiFi, к которой подключен мой ноутбук. Все работает нормально, если я пытаюсь получить доступ к 192.168.43.16 в браузере телефона.Доступ к локальной сети из приложения, когда телефон действует как точка доступа WiFi?

Но приложение, которое я разрабатываю, по какой-то причине не имеет доступа к веб-серверу. Я предполагаю, что вместо этого он пытается использовать 3G-соединение, что, конечно же, не сработает. Если я отключу мобильные данные, я получаю сообщение об ошибке в своем приложении, в котором говорится, что он не может подключиться к 172.30.253.241:8799, который, похоже, является сервером MMS моего ISP (?). Это не имеет для меня никакого смысла, но, возможно, здесь происходит кеширование? Опять же, доступ к моему локальному веб-серверу с Chrome в телефоне работает отлично.

Приложение использует "Android Asynchronous Http Client" byjjjjj, который построен поверх Apache HttpClient. Что я могу сделать, чтобы сделать эту работу?

Причина, по которой я хочу иметь доступ к локальному веб-серверу, заключается в том, что он позволяет разрабатывать и отлаживать сервер api, используемый с моим приложением, намного проще и быстрее, чем FTP-соединение с моим производственным сервером в Интернете.

ответ

1

Проблема решена!

Мне нужно было установить прокси-сервер AsyncHttpClient, используя setProxy(), перед тем как сделать запрос. Я установил адрес прокси на локальный IP-адрес моего ноутбука, работающего на веб-сервере.

client.setProxy("192.168.43.16", 80); 

Теперь, похоже, работает как ожидалось.