2009-05-04 1 views
1

Для моего мобильного приложения C#, разработанного с помощью visual studio 2008, я пытаюсь использовать FTP. FTP работает отлично с реального устройства, но он не работает, когда я использую эмулятор устройства: соединение выполнено успешно, но оно не удалось при получении данных. Оба используют окна mobile 5.Эмулятор устройства и FTP, внутри проекта мобильного приложения C#

У некоторых из вас уже была эта проблема? Когда я googlised, он, кажется, повторяется, но еще не решен.

Это журнал, отображаемый сервером ftp.

(000001) 04/05/2009 09:50:59 - (не вошли в систему) (127.0.0.1)> Connected, отправка приветственное сообщение ...

(000001) 04/05/2009 09 : 50: 59 - (не вошел в систему) (127.0.0.1)> 220-FileZilla Server version 0.9.31 beta

(000001) 04/05/2009 09:50:59 - (не вошел в систему) (127.0 .0.1)> 220 FTP-сервер

(000001) 04/05/2009 09:50:59 - (не вошли в систему) (127.0.0.1)> ПОЛЬЗОВАТЕЛЯ аа

(000001) 04/05/2009 09:50:59 - (не вошел в систему) (127.0.0.1)> 331 требуется пароль для аа

(000001) 04/05/2009 9:51:00 - (не вошли в систему) (127.0.0.1)> PASS **

(000001) 04/05/2009 9:51:00 - аа (127.0.0.1)> 230 Записан на

(000001) 04/05/2009 9:51:01 - аа (127.0.0.1)> СИС

(000001) 04/05/2009 09:51:01 - aa (127.0.0.1)> 215 UNIX под эгидой FileZilla

(000001) 04/05/2009 09:51:01 - aa (127.0.0.1) > CWD/

(000001) 04/05/2009 9:51:04 - аа (127.0.0.1)> ПА

(000001) 04/05/2009 09:51:04 - аа (127.0.0.1)> 227 Ввод пассивного режима (127,0,0,1,5,22)

(000001) 04/05/2009 09:51:41 - aa (127.0.0.1)> отключен.

ответ

1

Прошло некоторое время с тех пор, как я работал с этим мобильным материалом, поэтому у меня нет реального решения, но, возможно, какое-то объяснение.

Как видите, проблема возникает сразу после входа в пассивный режим. Как вы можете видеть, используемый ip-адрес - 127.0.0.1, который даже передается для пассивного режима (с используемыми портами). Я думаю, что в эмулированном сетевом стеке есть некоторые проблемы, чтобы заставить это виртуальное соединение работать (с адресами localhost). Поэтому, возможно, вам стоит попробовать , не используя пассивный режим, чтобы заставить его работать.

Еще один способ получить дополнительную информацию об этой проблеме - это запись сообщения с WireShark и попытка проверить, что не так. Но это будет любая работа, если у вас есть более глубокие знания о tcp ip и все это.

2

Вы пробовали использовать «устройство» для эмуляции устройства.

В Visual Studio перейдите в раздел «Инструменты» и откройте диспетчер эмулятора устройства.Оттуда вы можете щелкнуть правой кнопкой мыши текущий эмулятор устройства и выбрать Cradle, чтобы имитировать подставку устройства с помощью ActiveSync.

Я нахожу, что получаю лучшие результаты в сети, когда эмулятор устройства правильно подключен к ПК разработки через «смоделированное» соединение ActiveSync. На этом этапе у вас есть двухточечное IP-соединение между вашим ПК (169.254.2.2) и устройством (169.254.2.1).

Смежные вопросы