Веб-сервер на телефоне Android - PullRequest
2 голосов
/ 10 октября 2011

Я пытаюсь настроить веб-сервер, используя платформу Restlet на своем телефоне Android. Моя идея состоит в том, чтобы создать игру, в которой один телефон создает на карте несколько маркеров, которые затем можно перенести непосредственно на другие телефоны, используя отдых. Сначала (и для простоты) я хочу передать List из Objects.

Кажется, что работает сервер на моем компьютере, но когда я передаю код в приложение Android, он не запускается. Вот код:

Component serverComponent = new Component();
serverComponent.getServers().add(Protocol.HTTP, 80);  
final Router router = new Router(serverComponent.getContext().createChildContext());  
router.attach("/gamedata", GameDataResourceServer.class);  
serverComponent.getDefaultHost().attach(router);  
serverComponent.start();  

Когда выполняется строка serverComponent.start();, генерируется это исключение:
java.net.BindException: Permission denied (maybe missing INTERNET permission), хотя интернет-разрешение есть в файле манифеста. Поиск некоторых уроков тоже не помог. Результатом являются клиентские приложения или очень сложные сценарии.
Может ли кто-нибудь привести пример для простого приложения?

1 Ответ

4 голосов
/ 10 октября 2011

В средах типа Unix обычно требуется доступ с правами root для привязки к порту TCP ниже 1024. Вы пытаетесь привязать к порту 80, и, если вы не запустите этот код от имени root, ОС не сможет выполнить запрос.

...