易语言超大文件传输源码
系统结构:相关说明,连接文件服务器,断开文件服务器,是否已连接,开始文件下载,数据处理,服务数据处理,出错处理,取下载信息,大小转换,创建文件,关闭对象,取文件大小,创建映射,映射装载,映射卸载,写入映射_字节集,取错误代码,相关说明,打开文件服务,停止文件服务,数据处理,获取文件信息,下载指定块,创建文件,关闭对象,取文件大小,创建映射,映射装载,映射卸载,写入映射_字节集,取错误代码,
======文件接收端
| |
| |------ 相关说明
| |
| |------ 连接文件服务器
| |
| |------ 断开文件服务器
| |
| |------ 是否已连接
| |
| |------ 开始文件下载
| |
| |------ 数据处理
| |
| |------ 服务数据处理
| |
| |------ 出错处理
| |
| |------ 取下载信息
| |
| |------ 大小转换
| |
| |
======窗口程序集1
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |------ _按钮3_被单击
| |
| |------ _时钟1_周期事件
| |
| |
======调用的Dll
| |
| |---[dll]------ 创建文件
| |
| |---[dll]------ 关闭对象
| |
| |---[dll]------ 取文件大小
| |
| |---[dll]------ 创建映射
| |
| |---[dll]------ 映射装载
| |
| |---[dll]------ 映射卸载
| |
| |---[dll]------ 写入映射_字节集
| |
| |---[dll]------ 取错误代码
======窗口程序集1
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |
======文件传送
| |
| |------ 相关说明
| |
| |------ 打开文件服务
| |
| |------ 停止文件服务
| |
| |------ 数据处理
| |
| |------ 获取文件信息
| |
| |------ 下载指定块
| |
| |
======调用的Dll
| |
| |---[dll]------ 创建文件
| |
| |---[dll]------ 关闭对象
| |
| |---[dll]------ 取文件大小
| |
| |---[dll]------ 创建映射
| |
| |---[dll]------ 映射装载
| |
| |---[dll]------ 映射卸载
| |
| |---[dll]------ 写入映射_字节集
| |
| |---[dll]------ 取错误代码
调用的DLL命令:
.DLL命令 创建文件, 整数型, "kernel32.dll", "CreateFileA"
.参数 文件名, 文本型
.参数 打开方式, 整数型, , -2147483648表示读,1073741824表示写,0可取属性
.参数 共享方式, 整数型, , 1共享读,2共享写,0不共享
.参数 security性, 整数型, , 为空即可
.参数 打开方式2, 整数型, , 1创建文件(文件存在出错),2创建文件(改写),3文件必须存在,4如果文件不存在则创建,5将现有文件缩短为0
.参数 文件属性, 整数型, , 128默认属性,268435456随机访问优化,134217728连续访问优化,67108864临时文件
.参数 文件句柄, 整数型, , 一般为0
.DLL命令 关闭对象, 整数型, "kernel32.dll", "CloseHandle", , 可关闭文件与映射
.参数 对象句柄, 整数型
.DLL命令 取文件大小, 长整数型, "kernel32.dll", "GetFileSize", , 文件长度的低32位
.参数 文件句柄, 整数型
.参数 高32位, 长整数型, 传址, 文件长度的低32位,文件大小超过4GB时,此值大于0,否则为0
.DLL命令 创建映射, 整数型, "kernel32.dll", "CreateFileMappingA", , 返回映射句柄
.参数 文件句柄, 整数型
.参数 security对象, 整数型, , 0表示默认属性
.参数 映射方式, 整数型, , 2表示只读,4表示可读写
.参数 高32位, 整数型, , 文件映射的最大长度(高32位)
.参数 低32位, 整数型, , 文件映射的最小长度(低32位)
.参数 对象名字, 整数型, , 可以更改为文本型以指定对象名称
.DLL命令 映射装载, 整数型, "kernel32.dll", "MapViewOfFile", , 文件映射在内存中的起始地址,零表示出错
.参数 映射句柄, 整数型
.参数 映射方式, 整数型, , 2可读可写,4只读,
.参数 高32位, 整数型, , 文件中映射起点的高32位地址,64k的整数倍
.参数 低32位, 整数型, , 文件中映射起点的低32位地址,64k的整数倍
.参数 字节数, 整数型, , 文件中要映射的字节数,根据实际长度指定
.DLL命令 映射卸载, 整数型, "kernel32.dll", "UnmapViewOfFile", , 非零表示成功,零表示失败
.参数 映射地址, 整数型, , 用映射装载函数获得的
.DLL命令 写入映射_字节集, 整数型, "kernel32.dll", "RtlMoveMemory", , 将指定字节集的全部或部分写入映射空间的指定位置
.参数 起始位置, 整数型, , 用映射装载命令得到的
.参数 待写入数据, 字节集, 传址, 要写入的数据,可以更改为其他类型
.参数 数据长度, 整数型, , 要写入的数据长度,不大于实际数据长度
.DLL命令 取错误代码, 整数型, "kernel32.dll", "GetLastError"
调用的DLL命令:
.DLL命令 创建文件, 整数型, "kernel32.dll", "CreateFileA"
.参数 文件名, 文本型
.参数 打开方式, 整数型, , -2147483648表示读,1073741824表示写,0可取属性
.参数 共享方式, 整数型, , 1共享读,2共享写,0不共享
.参数 security性, 整数型, , 为空即可
.参数 打开方式2, 整数型, , 1创建文件(文件存在出错),2创建文件(改写),3文件必须存在,4如果文件不存在则创建,5将现有文件缩短为0
.参数 文件属性, 整数型, , 128默认属性,268435456随机访问优化,134217728连续访问优化,67108864临时文件
.参数 文件句柄, 整数型, , 一般为0
.DLL命令 关闭对象, 整数型, "kernel32.dll", "CloseHandle", , 可关闭文件与映射
.参数 对象句柄, 整数型
.DLL命令 取文件大小, 整数型, "kernel32.dll", "GetFileSize", , 文件长度的低32位
.参数 文件句柄, 整数型
.参数 高32位, 整数型, 传址, 文件长度的低32位,文件大小超过4GB时,此值大于0,否则为0
.DLL命令 创建映射, 整数型, "kernel32.dll", "CreateFileMappingA", , 返回映射句柄
.参数 文件句柄, 整数型
.参数 security对象, 整数型, , 0表示默认属性
.参数 映射方式, 整数型, , 2表示只读,4表示可读写
.参数 高32位, 整数型, , 文件映射的最大长度(高32位)
.参数 低32位, 整数型, , 文件映射的最小长度(低32位)
.参数 对象名字, 整数型, , 可以更改为文件型
.DLL命令 映射装载, 整数型, "kernel32.dll", "MapViewOfFile", , 文件映射在内存中的起始地址,零表示出错
.参数 映射句柄, 整数型
.参数 映射方式, 整数型, , 2可读可写,4只读,
.参数 高32位, 整数型, , 文件中映射起点的高32位地址,64k的整数倍
.参数 低32位, 整数型, , 文件中映射起点的低32位地址,64k的整数倍
.参数 字节数, 整数型, , 文件中要映射的字节数,根据实际长度指定
.DLL命令 映射卸载, 整数型, "kernel32.dll", "UnmapViewOfFile", , 非零表示成功,零表示失败
.参数 映射地址, 整数型, , 用映射装载函数获得的
.DLL命令 写入映射_字节集, 整数型, "kernel32.dll", "RtlMoveMemory", , 将指定字节集的全部或部分写入映射空间的指定位置
.参数 起始位置, 整数型, , 用映射装载命令得到的
.参数 待写入数据, 字节集, 传址, 要写入的数据,可以更改为其他类型
.参数 数据长度, 整数型, , 要写入的数据长度,不大于实际数据长度
.DLL命令 取错误代码, 整数型, "kernel32.dll", "GetLastError"
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。