为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 易语言模块源码 正文

vServer WEB服务器模块源码

三叶资源网 2018-03-05 17:47:44 易语言模块源码 2992 ℃ 6 评论

资源介绍:

vServer WEB服务器

支持GZIP压缩,大大降低数据体积

支持自定义头信息

资源作者:

易学三叶编程网

资源界面:

.版本 2
.支持库 sock
.支持库 EThread
.支持库 spec

.程序集 程序集1
.程序集变量 服务器, 网络服务器
.程序集变量 处理程序, 子程序指针
.程序集变量 接收数据, 字节集

.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行

写到文件 (取当前目录 () + “gzip.dll”, #gzip_dll)
置文件属性 (取当前目录 () + “gzip.dll”, 4)
返回 (0)  ' 可以根据您的需要返回任意数值

.子程序 启动服务器, , 公开
.参数 端口, 整数型, , 没有被占用的端口
.参数 访问事件处理程序, 子程序指针, , 需要一个参数接收句柄

服务器.启动 (端口)
处理程序 = 访问事件处理程序
启动线程 (&监听服务器, , )

.子程序 监听服务器
.局部变量 句柄, 整数型
.局部变量 成功, 逻辑型

句柄 = 服务器.监听 (0)
.如果真 (句柄 > -1)
    接收数据 = 服务器.接收 (句柄, 0, 成功)
    .如果真 (成功)
        调用子程序 (处理程序, , , 句柄)
    .如果真结束
    ' 本源码来自三叶资源网(www.sanye.cx)
.如果真结束
启动线程 (&监听服务器, , )

.子程序 发送数据, , 公开
.参数 句柄, 整数型, , 连接句柄
.参数 头信息, 文本型
.参数 数据, 字节集, , 发送的数据

服务器.发送 (句柄, 到字节集 (头信息 + #换行符 + #serverhead + #换行符 + #换行符) + 数据, 0)
服务器.断开连接 (句柄)


.子程序 取请求信息, , 公开
.参数 句柄, 整数型, , 返回的句柄
.参数 信息, 请求信息, 参考, 返回到的变量
.局部变量 temp, 文本型, , "0"

信息.启动GZIP = 假
temp = 分割文本 (到文本 (接收数据), “ ”, )
信息.请求方法 = temp [1]
信息.请求页面 = temp [2]
.如果真 (寻找文本 (到文本 (接收数据), “gzip”, , 假) > -1)
    信息.启动GZIP = 真
.如果真结束

信息.客户地址 = 服务器.取客户IP (句柄) + “:” + 到文本 (服务器.取客户端口 (句柄))
信息.头信息 = 接收数据

.子程序 发送数据GZIP, , 公开, 如果浏览器支持建议用此方法
.参数 句柄, 整数型, , 连接句柄
.参数 头信息, 文本型, , 头信息(模块自动加GZIP支持头信息)
.参数 数据, 字节集, , 发送的数据

服务器.发送 (句柄, 到字节集 (头信息 + #换行符 + #serverhead + #换行符 + #gziphead + #换行符 + #换行符) + GZIP压缩 (数据), 0)
服务器.断开连接 (句柄)
' 本源码来自三叶资源网(www.sanye.cx)

.子程序 GZIP压缩, 字节集
.参数 inData, 字节集
.局部变量 context, 整数型
.局部变量 inData2, 字节集
.局部变量 inLength, 整数型
.局部变量 buffer, 字节集
.局部变量 inUsed, 整数型
.局部变量 outUsed, 整数型
.局部变量 hResult, 整数型
.局部变量 retBytes, 字节集
.局部变量 upRetByts, 字节集
.局部变量 压缩位置, 整数型

buffer = 取空白字节集 (#MAX_BUF)
InitCompression ()
CreateCompression (context, #GZIP_LVL)
.循环判断首 ()
    inData2 = 取字节集中间 (inData, 压缩位置 + 1, #MAX_BUF)
    inLength = 取字节集长度 (inData2)
    hResult = Compress (context, inData2, inLength, buffer, #MAX_BUF, inUsed, outUsed, #GZIP_LVL)
    .如果真 (0 ≠ outUsed)
        upRetByts = upRetByts + 取字节集左边 (buffer, outUsed)
        压缩位置 = 压缩位置 + inUsed
    .如果真结束
    ' 本源码来自三叶资源网(www.sanye.cx)
.循环判断尾 (hResult = 0)
DestroyCompression (context)
返回 (upRetByts)

.子程序 关闭服务器, , 公开

服务器.停止 ()

资源下载:

文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

已有6位网友发表了看法:

  • 三叶网

    三叶网  评论于 [2019-02-24 12:44:36]  回复

    易语言WEB服务器+模块

  • 源码网

    源码网  评论于 [2019-04-22 00:43:15]  回复

    易语言+服务器模块

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
运算模块微信反多开检测保护壳Sqlite加QQ好友变量数组服务器组件自动循环显示列表项目Sqlite3数据库操作类网页解析类libcurl蜗牛迷宫游戏易语言多开中控源码网页防火墙Shell外壳编程编码转换类websocketJS窗口子类化2144多线程注册例程源码
最新评论