您的位置:首页 > 编程开发 > 易语言

WSClient与Http模块支持Http2.0

:4.196MB :2022-12-30 02:39:12

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的功能,更多内容请查看方法说明。

WSClient与Http模块支持Http2.0

易语言黑月界面类3.9(纯模块)
驱动读写模块,读写内存,包含修改内存属性,兼容性好