Порты в эмуляторе

#android #android-emulator

#Android #android-эмулятор

Вопрос:

Я новичок в разработке Android, я разрабатываю FTP-клиентское приложение для Android.

Я использую FTP в активном режиме, я запускаю команду list в активном режиме, для которого сервер должен открыть порт данных для отправки ответа списка. Я тестирую свое приложение в Eclipse emulator .

Когда я запускаю команду list, она выдает следующую ошибку: не удалось установить соединение.

У меня есть некоторый вопрос по этому поводу

  1. Можем ли мы открыть порт данных в эмуляторе?
  2. если да, то он откроет порты с компьютера разработчика или в самом эмуляторе.

также, пожалуйста, расскажите, как исправить эту проблему, любая помощь и предложения приветствуются.

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

1. Вы имеете в виду, что не можете подключить Интернет из эмулятора???

2. нет, я подключаюсь к Интернету, но не могу запустить команду ftp «LIST». я хочу запустить команду list в активном режиме, команду FTp list и успешно запустить в пассивном режиме из моего приложения.

3. В активном режиме сервер открывает порт на клиенте и отправляет ответ на этот порт, но когда сервер пытается подключиться к этому порту, возникает ошибка «Не удалось установить соединение», надеюсь, вы поняли, что я пытаюсь сказать 🙂

Ответ №1:

Обычно эмулятор Android имеет другую сеть со своим собственным IP-адресом и так далее. Для связи с сервером, когда сервер подключается к компьютеру разработчика и выдает команду, вам необходимо перенаправить ее на порт эмулятора.

Пример:

  1. Сервер подключается к эмулятору по порту 1234
  2. Перенаправьте порт 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