开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 9453|回复: 48
收起左侧

[易语言成品模块] WSClient与Http模块支持Http2.0

[复制链接]
回帖奖励 483 枚 精币 回复本帖可获得 1 枚 精币奖励! 每人限 1 次(中奖概率 50 %)
结帖率:64% (21/33)
发表于 2022-12-5 21:49:55 | 显示全部楼层 |阅读模式   四川省成都市
分享例程
界面截图:
备注说明: 支持Socksd理
支持Httpd理
支持Http隧道
本帖最后由 malei1194627023 于 2022-12-5 23:13 编辑

1.大家最关心的:DLL没有任何使用限制
2.本模块支持多线程,但是不支持跨线程,最大的特色就是事件了,但是稍显麻烦的也是事件,事件在易语言里比较草蛋,请务必查看Demo事件使用方式
3.模块基于C封装过来,不开源
4.类都提供了初始化()释放()方法,必须匹配调用
5.封装了中文命令和英文命令,全是写的生成器根据头文件生成的,类型映射难免有错误.有错误请一定记得反馈我!
6.所有类的事件的回调函数原型都是一样的,使用时根据参数中的事件ID判断事件的类型
7.事件参数指针是一个栈变量结构体指针,出了回调函数,就会销毁,所以不要把事件参数拿出回调函数之外使用,如果没崩溃,只是运气好,实在要用,就深拷贝!
8.每个类都有很多不同种类的事件,如果一个一个参数的映射,写回调不仅记不住还麻烦死,所以用了结构体.事件参数中映射char*用的是整数型,原因有以下几点:
        8.1 char* 如果直接映射为文本型的话,在易语言这边,回调函数结束,对应内存就会被释放,然后回到DLL,就会导致奔溃
        8.2 也考虑过不在dll里释放的方式,直接交给接收者释放,但是不符合谁申请谁释放的原则,再则也许事件没人接收就泄露了
        8.2 char*不仅仅表示文本,比如Http请求时,也许在下载东西呢.所以有些事件参数中,多了一个len参数,表示数据的长度,这种情况,请使用指针到字节集进行转换
9.回调函数的4个参数:
        9.1第一个参数:事件ID(整数型)                所有事件ID都定义了常量,以PSM_EVENT_ID_XXXX开通
        9.2第二个参数:自定义参数(整数型)        解决"类回调的问题",论坛上的方式是根据类方法索引取地址,个人感觉不是很优雅,自定义参数在初始化时可以传指针地址,就可以传任意参数了
        9.3第三个参数:事件参数指针(整数型)        DLL内部结构体栈变量地址,在回调函数内有效
        9.4第四个参数:组件指针(整数型)        主要是为了解决回调中使用组件方法的问题,提供了加载组件指针(组件指针)这个方法,用来在回调中操作当前组件,比如中断当前方法的执行
10.有些参数比如日志等级之类的,为了方便记忆,也都定义了常量
11.本模块返回值没有提供编码转换,比如POST请求参数或响应都是字节集,请自行封装
简单介绍下Http和WSClient的功能,更多内容请查看方法说明
HTTP:
        支持HTTP2.0
        支持IPv6
        支持设置出站IP
        支持各种认证方式
        支持分块传输
        支持大文件下载
        支持普通Http代理
        支持Http隧道
        支持Socks4,Socks4A,Soocks5
        支持系统代理
        支持传输进度
        支持TLS1        TLS1.1        TLS1.2        TLS1.3        SSL2        SS3
        支持证书
WSClient:
        支持WS/WSS
        自动回应PING
        支持IPv6
        支持设置帧最大大小
        支持设置出站IP,出站端口
        支持添加Cookie
        支持缓存整个消息,不分包
        支持普通Http代理
        支持Http隧道
        支持Socks4,Socks4A,Soocks5
        支持系统代理
        支持TLS1        TLS1.1        TLS1.2        TLS1.3        SSL2        SS3
        支持证书
修改了以下Demo,之前Demo中手滑未调用初始化方法,导致崩溃....
加入了一个WebSocket测试服务端,文件过大,放到网盘中下载
微云:https://share.weiyun.com/2sJJktIB
百度网盘: https://pan.baidu.com/s/1y7vyFGSapdkfIdyspPuAWA?pwd=1234 提取码: 1234

最后打个广告:有ftp/ftpserver/imap/pop3/smtp/ssh/sshserver/scp/sftp/sftpserver定制DLL需求请联系我
Http.png
Ws.png
Http3.png
Http2.png

评分

参与人数 3好评 +2 精币 +4 收起 理由
网络注册会员 + 1 + 1 感谢分享,很给力!~
白猫c + 1 YYDS~!
794229345 + 1 + 2 YYDS~!

查看全部评分


友情提醒:请选择可信度高的模块,勿用未知模块,防止小人在模块内加入木马程序。【发现问题模块请到站务投诉】。

本帖被以下淘专辑推荐:

发表于 2022-12-22 11:53:04 | 显示全部楼层   山东省济南市

回帖奖励 +1 枚 精币

学习HTTP2.0
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表