1.2国内外研究现状
得益于Android平台的开源特性,其平台上的应用不仅种类繁多而且数目惊人。FTP作为最基本的Internet应用,早已应用于Android系统的各个应用中。比如在近两年比较火的MIUI的文件管理器中就已经植入了FTP的功能,通过小米ID登录Android系统后,用户可以在文件管理器中连接到金山网络快盘,通过MIUI的文件管理器可以上传和下载各类文件,与小米的植入式FTP客户端相类似,韩国著名手机厂商SAMSUNG的文件管理器也集成了类似功能。除了内置的FTP应用,360云盘是专业的FTP类应用中很强大的一款,它提供友好的用户交互界面,支持各类文件及文件夹操作。
2.相关知识介绍
2.1 FTP工作原理
FTP(File Transfer Protocol),是文件传输协议的简称。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序。用户可以通过它把自己机器与世界各地所有运FTP协议的服务器相连,访问服务器上的资源和信息。FTP位于TCP/IP协议栈的应用层,从根本上说,FTP协议就是在网络中各种不同的计算机之间按照TCP/IP协议来传输文件。在一个简单的文件的下载过程中,实际上是同时使用到了客户端与服务器的功能,安装在用户本地设备的FTP客户端负责向远程文件服务器发出下载请求,而在远程的FTP服务器则负责相应客户端的下载请求,随后两者之间进行相关内容的传输。
2.2 FTP工作模式
FTP采用C/S(Client/Server)模式进行通信,与其他的其他的C/S 模式网络通信协议不同,如Telnet、SSH类的协议通信只需要一个端口,而FTP在通信中由于分隔了控制与数据信号,所以除了开放端口21用于数据控制之外,还需要提供额外的非标准端口用于数据传输,至于非标准端口的产生则要根据用户选择的连接模式而定:如果客户选择的是主动模式(PORT),则需要用户端提供给服务器一个IP 地址和一个非标准端口;而如果用户采用被动模式(PASV),则服务器端需要提供给客户端一个IP 地址和一个非标准端口。
3.服务器端控制
3.1服务器的选择
在程序的局域网测试过程中用到了Apache FTP Server, Apache是一款纯JAVA编写的可恢复并且开源的FTP服务器,并且支持多个平台和用户虚拟目录,支持匿名登录等。之所以选择Apache,是因为其消耗资源少,配置简单,可以很容易搭建一个局域网内的FTP服务器,Apache可以很容易的把一台装有桌面版的Windows或Linux版操作系统的主机变成一台FTP服务器。
3.2服务器的配置
Apache FTP Server的相关配置(Windows 7环境):首先将压缩文件解压到D盘根目录(1.0.5版本),进入文件夹apache-ftpserver-1.0.5并找到users.properties文件,使用Ultra Edit工具打开进行编辑,设置userpassword为admin,userpassword为admin,这里设置的用户名和密码便是我们在进行局域网测试FTP客户端的时候需要写入到程序内部的并且能够登入FTP服务器的用户名与密码,编辑好之后保存退出,然后再修改ftpd-file.xml文件,设置用户密码加密方式为“clear”即不加密用户密码。在DOS下进入到/bin目录下,执行命令service install安装FTP Server,然后使用命令ftpd.bat res/conf/ftpd-typical.xml启动服务,这时就可以测试在本机上登录刚搭建的FTP服务器了,在资源管理器输入ftp://192.168.0.2(本机IP),在打开的窗口右键选择登录使用设置好的用户名密码登录,成功登录FTP服务器。 Android的FTP客户端设计与实现+源代码(2):http://www.youerw.com/jisuanji/lunwen_6806.html