设备模拟器和FTP,位于c#移动应用程序项目中

时间:2009-05-04 08:14:42

标签: c# visual-studio-2008 windows-mobile ftp

对于使用visual studio 2008开发的c#移动应用程序,我正在尝试使用FTP。 FTP可以在真实设备上正常工作,但是当我使用设备模拟器时它无法正常工作:连接成功,但在注意检索数据时失败了。两者都使用windows mobile 5.

你们有些人已经遇到过这个问题吗?当我googlised,它似乎反复出现但尚未解决。

这是ftp服务器显示的日志。

(000001)04/05/2009 09:50:59 - (未登入)(127.0.0.1)>已连接,发送欢迎信息......

(000001)04/05/2009 09:50:59 - (未登入)(127.0.0.1)> 220-FileZilla Server版本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)> USER aa

(000001)04/05/2009 09:50:59 - (未登入)(127.0.0.1)> 331 aa

所需的密码

(000001)04/05/2009 09:51:00 - (未登入)(127.0.0.1)>通过**

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

(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 FileZilla模拟的UNIX

(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进入被动模式(127,0,0,1,5,22)

(000001)04/05/2009 09:51:41 - aa(127.0.0.1)>断开。

2 个答案:

答案 0 :(得分:2)

您是否尝试过“抱抱”设备模拟器。

在Visual Studio中,转到“工具”并打开设备模拟器管理器。在那里,您可以右键单击当前正在运行的设备模拟器,然后选择 Cradle 以使用ActiveSync模拟设备底座。

当设备仿真器通过“模拟”ActiveSync连接正确连接到开发PC时,我发现我获得了更好的网络结果。此时,您的PC(169.254.2.2)和设备(169.254.2.1)之间有两点IP连接。

答案 1 :(得分:1)

不久之前,我使用过移动设备,所以我没有真正的解决方案,但可能有一些解释。

如您所见,在进入被动模式后立即出现问题。正如您所看到的,使用的IP地址是127.0.0.1,甚至可以为被动模式(使用的端口)进行通信。我认为模拟网络堆栈在这里有一些问题,以使这个虚拟连接工作(使用localhost地址)。所以也许你应该尝试不使用被动模式来让它发挥作用。

另一种解决此问题的方法是记录与WireShark的通信,并尝试检查出现什么问题。但是如果你对tcp ip以及所有这些东西有更深入的了解,那就行了。