易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录

HPSocket 创建 WebSocket 服务端   [复制链接]

    2021-12-23 17:23:45
    网络相关源码
    易语言资源网
    8837 次浏览
    来源链接


大家好,最近在写一个 基于 go-cqhttp 的程序,想法是服务器端通过 WebSocket 跟 go-cqhttp 通信,捕获事件后通过 HPSocket 下发客户端

本来想用 C# 写的,但是想到 VS 的体积还是作罢了,但因为只会一点点易语言,所以过程中遇到很多棘手的问题

好在有咱们论坛,在其中找到了很多案例学习,现在小小的反馈一下给大家

源码引用模块:

  • HPSocket For E 5.8.5 beta3
  • 精易模块[v9.5.5]   - 不用也可以

最简单的实现了通过 HPSocket 建立 WebSocket(不支持wss,不支持多线程),注释还算齐全,没有注释的地方看方法备注就知道了

其中有两个需要注意的地方,一个是触发 OnUpgrade 升级为 WebSocket 协议时,需要拼接 Sec-WebSocket-Accept 请求头,这里看 WebSocket 协议规范的时候说通过 sha1 校验再 base64一下就行

但实际它是需要20位的,而咱们精易模块中的校验_取sha1方法返回的是40位的,好在精易模块提供了源码,还是解决了

另一个比较简单了,就是在发送数据的时候记得调用编码_utf8到gb2312转换一下编码格式,不然容易乱码

注释的地方为定不定义都可以,本来想都写上给大家一个完整的过程,但我懒...大家还是看看文档去吧



点我下载 (已有 760 次下载)

引用模块


源码文件名 模块文件名
WebSocket.e
精易模块.ec
HPSocket For E 5.8.5 beta3.ec


引用支持库


源码文件名 支持库文件名 支持库标识
WebSocket.e 系统核心支持库 5.7 d09f2340818511d396f6aaf844c7e325
特殊功能支持库 3.1 A512548E76954B6E92C21055517615B0


[错误报告]   上一篇:给大家分享一款计时软件,适合小商铺使用...     下一篇:画板制作某b详细页商品属性...