ftp
简介
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
API说明
ftp的API在luat lib有做封装,建议直接用lib的API接口。
API接口 | 描述 |
---|---|
ftp.close() | FTP客户端关闭 |
ftp.command() | FTP客户端命令 |
ftp.pasv_connect() | 连接到PASV接口 |
ftp.login() | FTP客户端登录 |
ftp.upload() | FTP客户端文件上传 |
ftp.download() | FTP客户端文件下载 |
ftp.checktype() | 设置FTP传输类型 A:ascii I:Binary |
ftp.pwd() | 显示当前工作目录 |
ftp.cwd() | 更改工作目录 |
ftp.cdup() | 回到上级目录 |
ftp.mkd() | 创建目录 |
ftp.list() | 列出目录列表或文件信息 |
ftp.deletefolder() | 删除目录 |
ftp.deletefile() | 删除文件 |
实现流程
- 登录ftp服务器
- 等待登录成功
- 执行自己的命令(根据API执行,也可使用ftp.command()执行其他ftp命令)
相关资料以及购买链接
相关开发板购买链接
Air724UG开发板
Air724 开发板使用说明
常见问题
关于不支持主动模式:
模块ftp默认是被动模式,不支持主动模式,无法设置主动模式,公网下要想模块正常连接服务器,服务器肯定不能设置为主动模式,否则哪家模块都不能用。