TIdHTTPServer на Android

#android #delphi #firemonkey #indy

#Android #delphi #firemonkey #indy

Вопрос:

Для некоторых особых, личных нужд я хочу использовать TIdHTTPServer (компонент из проекта Indy для RAD Studio) на устройстве Android через мобильное сетевое соединение, к которому я могу подключиться с помощью клиента, такого как браузер, wget или что-то еще.

Мое приложение FireMonkey работает должным образом на Windows и Android с использованием WLAN-соединения. Но на Android с включенным подключением к мобильному Интернету и выключенной WLAN я не могу установить внешнее соединение с сервером TIdHTTPServer, работающим на Android. Нет мгновенного отключения соединения — это тайм-аут.

Я думаю, что это может быть что-то связанное с Android, или, может быть, это как-то связано с тем, как мой провайдер сотовой связи обрабатывает мобильные соединения. Возможно, они блокируют или просто не перенаправляют внешние (мобильные) соединения, как это делают «брандмауэры» NAT, где нужно создать перенаправление портов и так далее.

Я также безуспешно пытался добавить мобильный IP-адрес и порт моего серверного приложения к привязкам компонента TIdHTTPServer (ошибка говорит о том, что адрес и порт уже используются). IP — это версия 4, а Android — версия 6. INDY — 10.6.2.5341.

Возможно ли в конце концов использовать сервер на Android с мобильными подключениями? Каковы препятствия? Может быть, я просто забыл установить определенные права приложения?

Комментарии:

1. К какому адресу вы пытаетесь подключиться локально? LocalHost ? 127.0.0.1 ?

2. Я не подключаюсь к локальному адресу. Я создал приложение FireMonkey с компонентом TIdHTTPServer, который работает на Android. Теперь я пытаюсь подключиться с другого IP-адреса через Интернет к мобильному IP-адресу устройства Android, но не могу установить соединение.

3. Ну, тогда это определенно проблема с брандмауэром / NAT. В данном случае это вообще не вопрос программирования. Вопросы по профессиональному администрированию серверной или сетевой инфраструктуры не относятся к теме Stack Overflow, если они непосредственно не связаны с программированием или инструментами программирования. Возможно, вы сможете получить помощь при сбое сервера.

4. На данный момент нет необходимости голосовать за закрытие этого вопроса, потому что это может быть вопрос, связанный с программированием. Разве это не может быть ограничение Android, которого можно избежать, установив что-то в файле XML-манифеста?

5. Вы до сих пор так и не сказали, как вы подключаетесь к нему. Какой адрес вы используете?