65.9K
CodeProject 正在变化。 阅读更多。
Home

XP Embedded的FTP服务器

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.33/5 (5投票s)

2005年8月3日

CPOL

1分钟阅读

viewsIcon

57104

downloadIcon

888

适用于基于 XPe 系统的极简 FTP 服务器。

MiniFTP screenshot

引言

我认为我不是唯一一个正在试验 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。
© . All rights reserved.