2009-05-04 5 views
1

Pour mon application mobile C# développée avec visual studio 2008, j'essaie d'utiliser le FTP. FTP fonctionne correctement à partir du périphérique réel, mais cela ne fonctionne pas lorsque j'utilise l'émulateur de périphérique: la connexion est réussie, mais elle a échoué lors d'une tentative de récupération de données. Les deux utilisent Windows Mobile 5.Émulateur de périphérique et FTP, dans un projet d'application mobile C#

Certains d'entre vous ont déjà eu ce problème? Quand je googlised, il semble être récurrent mais pas encore résolu.

Voici le journal affiché par le serveur ftp.

(000001) 04/05/2009 09:50:59 - (non connecté) (127.0.0.1)> Connected, l'envoi d'un message de bienvenue ...

(000001) 04/05/2009 09 : 50: 59 - (non connecté) (127.0.0.1)> 220-FileZilla Server version 0.9.31 beta

(000001) 04/05/2009 09:50:59 - (non connecté) (127.0 .0.1)> 220 serveur FTP

(000001) 04/05/2009 09:50:59 - (non connecté) (127.0.0.1)> USER aa

(000001) 04/05/2009 09:50:59 - (non connecté) (127.0.0.1)> 331 Mot de passe requis pour aa

(000001) 04/05/2009 09:51:00 - (non connecté) (127.0.0.1)> PASS **

(000001) 04/05/2009 09:51:00 - aa (127.0.0.1)> 230 Connecté

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

(000001) 04/05/2009 09:51:01 - aa (127.0.0.1)> 215 UNIX émulé par FileZilla

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

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

(000001) 04/05/2009 09:51:04 - aa (127.0.0.1)> 227 Passage en mode passif (127,0,0,1,5,22)

(000001) 04/05/2009 09:51:41 - aa (127.0.0.1)> déconnecté.

Répondre

1

Il y a un certain temps, depuis que j'ai travaillé avec ce genre de choses mobiles, je n'ai pas de vraie solution, mais peut-être quelques explications.

Comme vous pouvez le voir le problème se produit juste après être entré dans le mode passif. Comme vous pouvez le voir l'adresse IP utilisée est 127.0.0.1 qui est même communiquée pour le mode passif (avec les ports utilisés). Je pense que la pile réseau émulée a quelques problèmes pour faire fonctionner cette connexion virtuelle (avec des adresses locales). Alors peut-être que vous devriez essayer ne pas utiliser le mode passif pour le faire fonctionner. Une autre façon d'aller plus loin dans ce problème serait d'enregistrer la communication avec WireShark et d'essayer d'examiner ce qui ne va pas. Mais ce serait n'importe quel travail si vous avez des connaissances plus approfondies sur tcp ip et tout ça.

2

Avez-vous essayé de "bercer" l'émulateur de périphérique.

Dans Visual Studio, accédez à Outils et ouvrez le Device Emulator Manager.De là, vous pouvez faire un clic droit sur l'émulateur de périphérique en cours d'exécution et sélectionner Cradle pour simuler un support de périphérique avec ActiveSync.

Je constate que j'obtiens de meilleurs résultats de mise en réseau lorsque l'émulateur de périphérique est correctement connecté au PC de développement via la connexion ActiveSync "simulée". À ce stade, vous disposez d'une connexion IP à deux points entre votre PC (169.254.2.2) et l'appareil (169.254.2.1).

Questions connexes