文件服务程序开源小霸王HTTP服务器

易语言 2020-02-13 14:54:01

文件服务程序开源小霸王HTTP服务器

有需要的后续还会整个一个【服务程序API服务器】,【服务程序webSocket 客户端】 为了实现 远程调用其他电脑上的程序提供一个想法。

这不重要,重要的是服务程序可以不依赖当前用户 让我们的程序有更多可能性

主要用到 1 HP-Socket 中文支持库(需要指定的vs2010编译 HP-Socket官方群里面有)

主要功能
1 服务程序自启动

2 HP-Socket http服务器

3 分片传输 断点传输 大文件下载,支持迅雷

调试输出 (“不知道多线程是否安全 这个要测试一下”)
' **********************************
写到文件 (局_本地路径 + “.gzip”, 编码.Gzip压缩 (读入文件 (局_本地路径)))
.如果真结束
temp_请求头.name = “Content-Encoding”
temp_请求头.value = “Gzip”
加入成员 (请求头, temp_请求头)
.判断开始 (Length < 4 × 1024 × 1024)
temp_请求头.name = “Etag”
文件_取时间 (局_本地路径 + “.gzip”, , 最后修改时间, )
最后修改时间 = 校验_取md5_文本 (最后修改时间, , 真, 真)
temp_请求头.value = 最后修改时间
加入成员 (请求头, temp_请求头)
http.取某个请求头_单值 (监听句柄, 连接ID, “If-None-Match”, None)
.判断开始 (None = 最后修改时间)
http.回复请求 (监听句柄, 连接ID, #HTTP状态_304, “ok”, 请求头, { })
.默认
http.发送本地文件 (监听句柄, 连接ID, 局_本地路径 + “.gzip”, #HTTP状态_200, “ok”, 请求头)
.判断结束

.默认
请求头 [1].value = 集_json.对象_取文本 (集_json句柄, “.html”) + “;charset=gb2312”
http.回复请求 (监听句柄, 连接ID, #HTTP状态_200, “ok”, 请求头, 编码.Gzip压缩文本 (“文件大于4M,请用range”))