Как создать http-сервер на Android, к которому рабочий стол может обращаться (и наоборот) с помощью NanoHTTPD - PullRequest
4 голосов
/ 19 июля 2011

Используя доступный WiFi IP (то есть 192.xxx.xx, используя сообщение 8080), я хотел бы создать http-сервер в Android, который может подключаться к нему и получать к нему доступ с рабочего стола, чтобы я мог передавать файлы наAndroid-устройство.

Обновление: в данный момент я пробую NanoHTTPD, но не могу запустить пример HelloWorld на устройстве Android.

Я изменил код hello world и сделал еговместо этого расширили активность и создали объект nanohttpd .

. Я изменил его, указав, какой порт использовать, но после дальнейшей отладки я обнаружил, что сокет сервера вообще не имеет getInetAddress.Я думал, что NanoHTTPD больше не нуждается в дальнейшей конфигурации ...?

Ответы [ 2 ]

3 голосов
/ 20 июля 2011

Хех, как оказалось, NanoHTTPD добился цели, но я сделал некоторые корректировки ...

  1. Проверьте, подключено ли устройство.

    Я использовал образцыиз управлять Wi-Fi и управлением сетью Wi-Fi для создания диспетчера WiFi, который обнаруживает все доступные WiFi, возвращает список результатов ScanResults, подключенных результатов сканирования и выбирает IP-адрес.

  2. Сделал NanoHttpd как класс с одноэлементным экземпляром.

    Из полученного подключенного ScanResult WiFi Manager я получил IP-адрес и передал его и номер порта вэкземпляр nanohttpd.

    NanoHttpd nanoInstance = new Nanohttpd ();String [] args = null;args [0] = IP-адрес;args 1 = 8080;// или 8081 .. и т. д. nanoInstance.main (args);

  3. После этого я наконец-то добрался до страницы ответов.=]

0 голосов
/ 19 июля 2011

Используйте встраиваемый http-сервер: http://tjws.sourceforge.net/

Примечание: большинство мобильных устройств отстают от NAT (как в Wi-Fi, так и в сотовых сетях), где входящие подключения невозможны.Это означает, что вы не можете инициировать соединение с ними из Интернета.

...