关于ftp工作原理详解 ,可参考
http://blog.chinaunix.net/uid-12814440-id-2914750.html
为了了解ftp,首先在ubuntu上搭建一个ftp服务器先。
在ubuntu12.04中搭建ftp服务器:
sudo apt-get install vsftpd
完成安装后,就可以用Ubuntu系统的用户名和密码登陆了。
可以在手机上装上个ES文件浏览器,通过添加一个ftp服务器的方式就可以连接到电脑上的ftp服务器了。
(手机和电脑在同一网络中,当然vsftpd还有很多配置选项,这里就不再深究了)
其实busybox中自带ftp服务器,只需开启一下就可以用了。
首先,到busybox的官网上下载源码,make menuconfig(什么都不改,保存一下)一下生成.config文件,然后make一下
就可以生成在X86下运行的程序了,马上验证一下。
如果之前装上了vsftpd,ftpd服务是默认开启的,可先删除该服务sudo apt-get remove vsftpd,然后在生成busybox源码的目录下执行
sudo ./busybox tcpsvd 0 21 ./busybox ftpd -w /home,手机照样可以访问到电脑了的文件。
当然,我们也可以将busybox移植到arm上,具体移植过程见
http://blog.youkuaiyun.com/mike8825/article/details/49834245
移植好后,将只需将busybox放到环境变量的路径中($PATH查看),然后在终端上运行
sudo ./busybox tcpsvd 0 21 ./busybox ftpd -w /home
busybox tcpsvd相当于运行busybox这个程序,参数为tcpsvd,实际就是运行tcpsvd,如果不想这么麻烦,只需
ln -s busybox tcpsvd
ln -s busybox ftpd
然后运行./tcpsvd 0 21 ./ftpd -w /home即可。
当然该命令会卡住,在实际运用中要加上&,代表该程序在后台运行
tcpsvd 0 21 ftpd -w /home &
//上面的0表示对所有ip地址都进行侦听
// ftpd -w这里的参数-w表示client可以对目录执行写操作
// 21指定ftp服务器的默认端口
// 可以使用-t和-T参数设置client在没有任何操作的最大时间之后ftpd主动断开client连接,
// 默认-t为2分钟=2 * 60,-T为1小时=1 * 60 * 60
移植好的busybox也可以在Android上跑(root过后的手机),只是最新版本的busybox,当client连接上会退出的情况,成功的版本为v1.19.2。
搭建好ftp服务器后,就有很多应用了。比如,电脑上的电影,手机只需接入该服务器,就可以直接访问到电脑的视频文件了,在手机上直接看电影无压力啊。