WSClient与Http模块支持Http2.0
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模块2.0开源
联众答题HTTP模块2.0开源例子源代码,应该是1.0版本的不怎么好用。...
- 鱼刺类_Http模块v6.0.6
易语言鱼刺类_Http模块v6.0.6例子,添加模块应用后直接可以查看具体的使用方法了,所有类方法基于(WinHttpReq...
- 彗星http模块开源
易语言彗星http模块开源例子,添加模块应用后直接可以查看具体的使用方法了,如果直接读,下面三行代码不需要。...
- 鱼刺类_Http模块v6.0.6开源
鱼刺类_Http模块v6.0.6开源例子源代码,参照了很多代码并结合自己的理解进行了原创设计。...
- 易语言隐心http模块
易语言隐心http模块例子源代码,总有一种可以兼容你的环境,如果在使用中程序停止响应,请设置此处为真。...
- CURL重新编译增加http2.0协议模块
易语言CURL重新编译增加http2.0协议模块例子源代码,整个程序在主线程调用一次即可。...