level 2
wlzhnlyf
楼主
.版本 2
.支持库 sock
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
.局部变量 ip地址, 文本型, , "0"
ip地址 = 取本机IP ()
标签1.标题 = ip地址 [1] + “:2220”
.子程序 _服务器1_数据到达
.局部变量 返回内容, 文本型
返回内容 = 到文本 (服务器1.取回数据 ())
客户 = 服务器1.取回客户 ()
.如果 (寻找文本 (返回内容, “Content-wenjianchangdu”, 1, 假) > -1)
文件长度 = 到整数 (取中间文本 (返回内容, “[--]”, “[-+]”))
文件名称 = 取中间文本 (返回内容, “[++]”, “[+-]”)
开启接收 = 1
标签3.标题 = “需接收长度:” + 到文本 (文件长度)
标签2.标题 = “文件名:” + 文件名称
总内容 = 总内容 + 服务器1.取回数据 ()
.否则
.如果 (寻找文本 (返回内容, “Content-Length”, 1, 假) > -1)
服务器1.发送数据 (客户, “HTTP/1.1 200 OK” + #换行符 + “Content-Length: ” + 到文本 (取文本长度 (“错误”)) +
#换行符 + #
换行符 + “错误”, )
.否则
.如果 (开启接收 = 1)
总内容 = 总内容 + 服务器1.取回数据 ()
标签4.标题 = “已接受长度:” + 到文本 (取字节集长度 (总内容))
.如果 (取字节集长度 (总内容) > 文件长度 - 1)
取回文件 (总内容)
.否则
.如果结束
.否则
.如果结束
.如果结束
.如果结束
.子程序 取回文件
.参数 源码, 字节集
.局部变量 文本, 文本型
.局部变量 保存路径, 文本型
.局部变量 a, 整数型
.局部变量 b, 整数型
文件字节 = 取字节集右边 (源码, 文件长度)
' 图片框1.图片 = 文件字节
保存路径 = 取运行目录 () + “\” + 文件名称
a = 0
b = 1
.判断循环首 (a < 5)
.如果 (文件是否存在 (保存路径) = 假)
写到文件 (保存路径, 文件字节)
标签5.标题 = 保存路径
a = 6
.否则
保存路径 = 取运行目录 () + “\副本 (” + 到文本 (b) + “) ” + 文件名称
b = b + 1
.如果结束
.判断循环尾 ()
总内容 = { }
文件长度 = 0
开启接收 = 0
服务器1.发送数据 (客户, “HTTP/1.1 200 OK” + #换行符 + “Content-Length: ” + 到文本 (取文本长度 (“完成”)) +
#换行符 + #
换行符 + “完成”, )
服务器1.断开客户 (客户)
.子程序 取中间文本, 文本型
.参数 源文本, 文本型
.参数 左边文本, 文本型
.参数 右边文本, 文本型
.局部变量 左边长度, 整数型
.局部变量 右边长度, 整数型
左边长度 = 寻找文本 (源文本, 左边文本, 1, 假) + 取文本长度 (左边文本)
右边长度 = 寻找文本 (源文本, 右边文本, 左边长度, 假) - 左边长度
返回 (取文本中间 (源文本, 左边长度, 右边长度))
2017年03月30日 18点03分
1
.支持库 sock
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
.局部变量 ip地址, 文本型, , "0"
ip地址 = 取本机IP ()
标签1.标题 = ip地址 [1] + “:2220”
.子程序 _服务器1_数据到达
.局部变量 返回内容, 文本型
返回内容 = 到文本 (服务器1.取回数据 ())
客户 = 服务器1.取回客户 ()
.如果 (寻找文本 (返回内容, “Content-wenjianchangdu”, 1, 假) > -1)
文件长度 = 到整数 (取中间文本 (返回内容, “[--]”, “[-+]”))
文件名称 = 取中间文本 (返回内容, “[++]”, “[+-]”)
开启接收 = 1
标签3.标题 = “需接收长度:” + 到文本 (文件长度)
标签2.标题 = “文件名:” + 文件名称
总内容 = 总内容 + 服务器1.取回数据 ()
.否则
.如果 (寻找文本 (返回内容, “Content-Length”, 1, 假) > -1)
服务器1.发送数据 (客户, “HTTP/1.1 200 OK” + #换行符 + “Content-Length: ” + 到文本 (取文本长度 (“错误”)) +
#换行符 + #
换行符 + “错误”, )
.否则
.如果 (开启接收 = 1)
总内容 = 总内容 + 服务器1.取回数据 ()
标签4.标题 = “已接受长度:” + 到文本 (取字节集长度 (总内容))
.如果 (取字节集长度 (总内容) > 文件长度 - 1)
取回文件 (总内容)
.否则
.如果结束
.否则
.如果结束
.如果结束
.如果结束
.子程序 取回文件
.参数 源码, 字节集
.局部变量 文本, 文本型
.局部变量 保存路径, 文本型
.局部变量 a, 整数型
.局部变量 b, 整数型
文件字节 = 取字节集右边 (源码, 文件长度)
' 图片框1.图片 = 文件字节
保存路径 = 取运行目录 () + “\” + 文件名称
a = 0
b = 1
.判断循环首 (a < 5)
.如果 (文件是否存在 (保存路径) = 假)
写到文件 (保存路径, 文件字节)
标签5.标题 = 保存路径
a = 6
.否则
保存路径 = 取运行目录 () + “\副本 (” + 到文本 (b) + “) ” + 文件名称
b = b + 1
.如果结束
.判断循环尾 ()
总内容 = { }
文件长度 = 0
开启接收 = 0
服务器1.发送数据 (客户, “HTTP/1.1 200 OK” + #换行符 + “Content-Length: ” + 到文本 (取文本长度 (“完成”)) +
#换行符 + #
换行符 + “完成”, )
服务器1.断开客户 (客户)
.子程序 取中间文本, 文本型
.参数 源文本, 文本型
.参数 左边文本, 文本型
.参数 右边文本, 文本型
.局部变量 左边长度, 整数型
.局部变量 右边长度, 整数型
左边长度 = 寻找文本 (源文本, 左边文本, 1, 假) + 取文本长度 (左边文本)
右边长度 = 寻找文本 (源文本, 右边文本, 左边长度, 假) - 左边长度
返回 (取文本中间 (源文本, 左边长度, 右边长度))