嵌入式Windows MobileVisual C++ 7.1Visual C++ 7.0Visual Studio .NET 2003Windows XP移动应用中级开发Visual StudioWindowsC++
XP Embedded的FTP服务器






4.33/5 (5投票s)
适用于基于 XPe 系统的极简 FTP 服务器。
引言
我认为我不是唯一一个正在试验 XP Embedded 的人——它是功能丰富、组件化的 Windows XP Professional 版本。该系统可用于“黑盒”中,其中包含一个功能齐全的操作系统,但仅包含必要的组件,并且可以从 ROM 启动。
背景
在基于 XPe 的嵌入式系统中添加 FTP 功能的典型方法是使用 IIS FTP。它相对容易,但这种方法有一些限制:镜像的大小会增加,IIS 需要“重量级”组件;IIS 不能与 Minlogon 一起使用,因为它依赖于 NTLM 身份验证;对于简单的任务,例如上传/下载文件,IIS 过于复杂;没有简单的方法来附加自定义命令。解决方案是使用像这个这样的轻量级 FTP 服务器:单个类提供几乎完整的 FTP 功能,并支持 RFC 959 中定义的命令以及任何自定义命令。存在一些限制,从我的角度来看,对于嵌入式 FTP 服务器来说,这些限制并不重要:只有一个具有“管理员”权限的用户,只有一个没有子文件夹的目录,只有单个用户可以连接到服务器。
使用代码
要使用该代码,只需将基于 CFTPServerT<>
的类添加到您的代码中即可。可以通过“命令处理程序”FTP_COMMAND_HANDLER(_T("some_custom_cmd"), handler_func)
进行自定义命令处理,您可以在代码中看到示例,它注释良好。自定义命令处理程序允许使用任何非标准命令,例如远程重启、关机、升级以及任何其他仍然使用 FTP 的任务。您可以将此服务器直接嵌入到您的软件中,只需记住“KISS”(保持简单愚蠢)原则。该示例是一个简单的控制台应用程序,但可以快速转换为服务。
历史
- 2005 年 8 月 - 初始版本 1.0。