我在服务器上运行了一个C#应用程序,它需要将文件复制到多个Windows Mobile 5.0设备。这些设备通过支持以太网的支架直接连接到网络(因此它们不通过ActiveSync连接到PC)。
我有什么不同的选择呢?我知道RAPI可以做到这一点,但我不确定它是否可以像这样通过网络直接复制。另外,我知道RAPI使用ActiveSync DLL,因此需要安装ActiveSync,如果可能的话,我们宁愿避免这样做。
WMI有可能吗?如果我们可以以某种方式获取每个设备的IP地址,我们可以使用普通File.IO
吗?我们非常欢迎代码示例或一般知识。
答案 0 :(得分:1)
普通文件I / O不起作用。这些设备没有文件共享操作系统组件,因此您无法像通过PC那样通过网络“浏览”它们。
RAPI确实使用ActiveSync,因此您不仅必须安装AS,还必须主动连接设备,并且ActiveSync一次只允许一个设备连接,因此它无法满足您的需求。 / p>
我对这种情况的解决方案始终如一。您必须在设备上安装某种“侦听器”,无论是您部署的应用程序还是某种形式的安装程序。有时我在插入的CF / SD卡上使用自动运行应用程序(全部取决于您的拓扑结构)。
我通常让该应用程序侦听来自PC的“发现”数据包的UDP广播。当他们收到它时,他们反过来UDP广播他们的IP地址,并且PC收集它们。然后,PC通过TCP套接字将文件通过监听器应用程序发送到设备。
最近我通过Padarn中托管的REST服务一直在做所有设备端部分,以最大限度地减少我必须编写的设备上的通信代码量,但是你可以使用Udp / TcpClients完成所有操作很难。