❶ 关于FTP断点续传原理 解释
由于FTP是顺序接收文件的,所以,只要计算已接收的数据大小,就可以知道断点在文件的偏移量,续传时,客户端将已接收的数据量传递给服务器,服务器使用这个做为偏移量继续读取文件,将剩余的数据发送至客户端,客户端仅需将接收到的数据追加至原文件尾部即可.
这样的一个过程即可实现断点续传.
另外有一些客户端为了闭免错误(因为掉线经常是由于错误引起的),会少发送实际接收的数据量,比如原1M的文件,已接收512KB,客户端可能会返回给服务器500KB,这样服务器就会从500KB处开始返回数据,客户端则从500KB处开始覆盖已有的12KB,以避免由于错误断开时造成的数据错误.好像说多了.
❷ 什么是FTP断点续传
有时用户通过FTP下传文件需要历时数小时,万一线路中断,不具备FTP断点续传的FTP服务器就只能从头重传;中国万网“虚拟主机”上的FTP服务器具有FTP断点续传能力,允许用户从上传断线的地方继续传动,这样大大减少了用户的烦恼。
❸ 易语言FTP上传
.版本 2
.支持库 downlib
.子程序 _添加用户_创建完毕
服务器名 = “10.110.160.23”
登录名 = “jjwnet”
登录密码 = “1”
.如果真 (全局辅助对象.连接FTP服务器 (“ftp://” + 服务器名 + “/others/”, 登录名, 登录密码, 21, , ) = 假)
信息框 (“无法连接服务器”, 0, )
销毁 ()
.版本 2
.支持库 downlib
.子程序 上传文件
.参数 服务端文件名, 文本型
.参数 本地文件名, 文本型, ,
.局部变量 任务参数, 任务参数
任务参数.类型 = #传送常量.上传
任务参数.用户名 = 登录名
任务参数.用户密码 = 登录密码
任务参数.本地文件路径 = 本地文件名
输出调试文本 (任务参数.本地文件路径)
任务参数.文件地址 = 服务端文件名
输出调试文本 (任务参数.文件地址)
任务参数.交互回调函数 = &交互回调函数
任务参数.日志回调函数 = &日志回调函数
全局上传对象.上传文件 (任务参数)
.子程序 交互回调函数, 整数型, , 同名覆盖
.参数 消息类型, 整数型
.参数 线程信息, 整数型
.参数 参数3, 整数型
.参数 参数4, 整数型
.参数 对象信息, 整数型
.局部变量 获得对象标记, 整数型
.局部变量 内容, 文本型
.局部变量 新文件名, 文本型
.局部变量 线程组, 整数型, , "0"
' 成员<15>的中文名称为“交互回调函数”,英文名称为“MutualCallBack”,类型为“子程序指针(SubPtr)”。
' 注册一个回调函数,系统产生需要交互的消息时调用此函数,具体消息请参见传送常量中设置的消息常量。如果为0则不接收,默认为0。回调函数需要有5个参数,一个整数型的返回值。返回值根据消息类型的不同而不同,如果没有说明则返回值没有意义。参见具体的消息第一个参数(整数型)消息类型,参见“传送常量。”第二个参数(整数型),线程信息,可以通过”取线程信息“获得每个上传或下载对象的线程信息,与本参数比较从而确定发送本消息的对象第三个参数(整数型)根据消息类型的不同而不同,参见具体的消息第四个参数(整数型)根据消息类型的不同而不同,参见具体的消息第五个参数(整数型),对象信息,可以通过“取对象信息”获得下载或上传对象的信息与本参数比较,从而确定本消息属于哪个对象。
.如果真 (消息类型 = #传送常量.发现存在文件)
返回 (#传送常量.覆盖) ' 发现有同名文件存在,则覆盖
.如果真结束
返回 (0)
.子程序 日志回调函数
.参数 线程信息, 整数型
.参数 时间, 文本型
.参数 内容, 文本型
.参数 消息类型, 整数型
.参数 对象信息, 整数型
.局部变量 日志内容, 文本型
.版本 2
.支持库 dp1
.子程序 _按钮1_被单击
.局部变量 文件名, 文本型
文件名 = “d/xxxxxx.txt”
上传文件 (“ftp://” + 服务器名 + “/databases/” +“xxxxxx.txt”, 文件名)
延时 (1000)
信息框 (“上传成功”, 0, “finish”)
❹ FTP上传时经常中断,怎么办
原因:ftp上传经常中断
分析:本地网络+查看服务器运行状态+服务端网络+服务器端FTP服务+检查FTP服务端设置+上传的数据文件数量+日志
解决办法:
1、检查本地网络是否有抖动或者断网从而导致本地FTP客户端软件连接到服务器之间有问题。
2、查看需要服务器状态是否正常,是否宕机或者有其他问题导致的中断。
3、查看服务器端网络是否有抖动或者断网从而导致FTP服务端与FTP客户端无法正常连接。
4、检查服务器端FTP服务是否正常运行。
5、查看FTP服务端配置中的连接时间设置。
6、如果上传文件数量比较大,建议您将文件打成压缩包的方式以二进制上传。
7、分析FTP服务日至,查到问题根源。
(4)易语言ftp断点续传扩展阅读:
开发任何基于 FTP 的客户端软件都必须遵循 FTP 的工作原理,FTP 的独特的优势同时也是与其它客户服务器程序最大的不同点就在于它在两台通信的主机之间使用了两条 TCP 连接,一条是数据连接,用于数据传送;
另一条是控制连接,用于传送控制信息(命令和响应),这种将命令和数据分开传送的思想大大提高了 FTP 的效率,而其它客户服务器应用程序一般只有一条 TCP 连接。图 1 给出了 FTP 的基本模型。
客户有三个构件:用户接口、客户控制进程和客户数据传送进程。服务器有两个构件:服务器控制进程和服务器数据传送进程。在整个交互的 FTP 会话中,控制连接始终是处于连接状态的,数据连接则在每一次文件传送时先打开后关闭。
❺ 易语言ftp文件上传的问题
.版本 2
.支持库 downlib
.支持库 iext
.支持库 internet
.程序集变量 上传文件, FTP上传对象
.程序集变量 参数, 任务参数
.子程序 上传
参数.类型 = 2 + 3 ' 参数详见提示
参数.传送类型 = 1
参数.文件地址 = “ftp://” + FTP地址 + “/” + FTP账号 + “/1/1.txt” ' 这里是FTP服务器路径,可以修改。
参数.用户名 = FTP账号
参数.用户密码 = FTP密码
参数.本地文件路径 = “c:\1.txt” ' 这里的文件名是需要上传的文件路径,可以修改。
参数.线程等待超时 = 1000
透明标签1.标题 = “正在连接服务器...”
透明标签2.标题 = “正在上传文件...”
.判断开始 (连接FTP服务器 (FTP地址, FTP账号, FTP密码, , ))
透明标签1.标题 = “已连接!”
输出调试文本 (FTP取现行目录 () + “aaa”)
.默认
透明标签1.标题 = “连接失败!”
返回 ()
.判断结束
' 双线内代码为测试服务器是否可用,可以不需要
上传文件.上传文件 (参数)
❻ FTP客户端怎么样实现断点续传的功能
爱米云共享网盘比ftp好用多了,都不搭服务器,一键安装的。断点续传就是你比如传文件传了30%的时候中断了,再重新传的时候会从30%开始传,而不是从0开始。一般ftp只能续传文件,但爱米云网盘文件和文件夹都可以续传。这点确实很方便
❼ 怎样用易语言进行ftp上传,不要模块,有易语言写CMD命令也行
简单的写一个 窗口内需要 按钮1 通用对话框1 两个控件
.版本 2
.支持库 internet
.子程序 _按钮1_被单击
.局部变量 文件名, 文本型
.如果 (连接FTP服务器 (“192.168.1.1”, “”, “”, 21, ) = 真)
.如果真 (通用对话框1.打开 () = 真 且 通用对话框1.文件名 ≠ “”) ' 判断是否打开了文件
文件名 = 取文本右边 (通用对话框1.文件名, 取文本长度 (通用对话框1.文件名) - 倒找文本 (通用对话框1.文件名, “\”, , 假)) ' 取出被打开的文件名
.如果 (FTP文件上传 (通用对话框1.文件名, 文件名, 假) = 真)
信息框 (“上传文件 ” + 文件名 + “ 成功!”, 0, )
.否则
信息框 (“上传文件 ” + 文件名 + “ 失败!”, 0, )
.如果结束
.如果真结束
.否则
信息框 (“连接失败”, 0, )