#android #android-emulator
#Android #android-эмулятор
Вопрос:
Я новичок в разработке Android, я разрабатываю FTP-клиентское приложение для Android.
Я использую FTP в активном режиме, я запускаю команду list в активном режиме, для которого сервер должен открыть порт данных для отправки ответа списка. Я тестирую свое приложение в Eclipse emulator
.
Когда я запускаю команду list, она выдает следующую ошибку: не удалось установить соединение.
У меня есть некоторый вопрос по этому поводу
- Можем ли мы открыть порт данных в эмуляторе?
- если да, то он откроет порты с компьютера разработчика или в самом эмуляторе.
также, пожалуйста, расскажите, как исправить эту проблему, любая помощь и предложения приветствуются.
Комментарии:
1. Вы имеете в виду, что не можете подключить Интернет из эмулятора???
2. нет, я подключаюсь к Интернету, но не могу запустить команду ftp «LIST». я хочу запустить команду list в активном режиме, команду FTp list и успешно запустить в пассивном режиме из моего приложения.
3. В активном режиме сервер открывает порт на клиенте и отправляет ответ на этот порт, но когда сервер пытается подключиться к этому порту, возникает ошибка «Не удалось установить соединение», надеюсь, вы поняли, что я пытаюсь сказать 🙂
Ответ №1:
Обычно эмулятор Android имеет другую сеть со своим собственным IP-адресом и так далее. Для связи с сервером, когда сервер подключается к компьютеру разработчика и выдает команду, вам необходимо перенаправить ее на порт эмулятора.
Пример:
- Сервер подключается к эмулятору по порту 1234
- Перенаправьте порт 1234 компьютера разработки на эмулятор с помощью следующих команд
в командной строке
C:> telnet localhost
Например: telnet localhost 5554 (будет выполнен вход в эмулятор)
-> redir добавить <tcp / udp>:hostport: emulatorport
Например: redir добавить udp:1234:1234 -> выйти
Для ссылки:https://developer.android.com/studio/run/emulator-networking
С уважением,
SSuman185
Комментарии:
1. Эти пересылки работают только для трафика, исходящего внутри хостинговой машины, потому что они не прослушивают внешние интерфейсы. Они не работают для трафика, поступающего с удаленных серверов — для этого вам понадобится инструмент пересылки вне эмулятора Android.
2. Справочная ссылка больше не доступна. редактировать: альтернативный источник здесь developer.android.com/studio/run/emulator-networking