开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 126|回复: 4
收起左侧

[易语言] wss 链接 运行几个小时 输出变卡

[复制链接]
结帖率:0% (0/3)
发表于 昨天 17:35 | 显示全部楼层 |阅读模式   广东省中山市
30精币
源码如下:

  
窗口程序集名保 留  保 留备 注
窗口程序集_窗口1   
变量名类 型数组备 注
g_连接状态逻辑型  
json类_json  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
WSS_全局_初始化 ()
g_连接状态 = 假
成功计数 = 0
挑战成功次数 = 0
子程序名返回值类型公开备 注
_按钮_连接状态_被单击  
变量名类 型静态数组备 注
ip解析类型整数型 
SSL加密套件列表文本型 
按钮_连接状态.禁止 = 真
判断 (g_连接状态)
WSS_连接_断开 (g_ws)


g_ws = WSS_连接_启动 (编辑框_URL.内容, , , , , , , &ws_连接成功, &ws_连接断开, &ws_收到消息, , , , , , )
如果真 (g_ws = 0)
按钮_连接状态.禁止 = 假
信息框 (“创建ws失败”, 0, , )


子程序名返回值类型公开备 注
ws_连接成功  
参数名类 型参考可空数组备 注
ws整数型
输出 (“ws_连接成功”)
g_连接状态 = 真
按钮_连接状态.标题 = “断开”
按钮_连接状态.禁止 = 假
子程序名返回值类型公开备 注
ws_连接断开  
参数名类 型参考可空数组备 注
ws整数型
输出 (“ws_连接断开”)
g_连接状态 = 假
按钮_连接状态.标题 = “连接”
按钮_连接状态.禁止 = 假
子程序名返回值类型公开备 注
ws_收到消息  
参数名类 型参考可空数组备 注
ws整数型
opcode整数型
变量名类 型静态数组备 注
消息文本型 
请求方法名称返回标识文本型 
订单id文本型 
发送文本文本型 
i整数型 
count整数型 
通关卡文本型 
关卡数整数型 
屏障到期时间文本型 
彩虹体文本型 
玩家id文本型 
到期时间文本型 
掠夺彩虹体双精度小数型 
a整数型 
玩家数整数型 
现行时间整数型 
屏障时间整数型 
code整数型 
消息 = 到文本 (WSS_取回数据_文本 (ws))
json.解析 (消息)
请求方法名称返回标识 = json.取通用属性 (“type”)
json.清除 ()
调试输出 (请求方法名称返回标识, 消息)
如果真 (请求方法名称返回标识 = “ExchangesTradeRet”)
调试输出 (“购买成功:” + 消息)
json.解析 (消息)
count = 到整数 (json.取属性 (“data['payment_things'].data[0].item.count”).取数据文本 ())
json.清除 ()
成功计数 = 成功计数 + count
_启动窗口.编辑框1.内容 = 到文本 (成功计数)
输出 (“购买成功返回:” + 消息)
如果真 (请求方法名称返回标识 = “ExchangesQueryViewRet”)
商城_购买_处理事件 (消息)
输出 (“cha询商城返回:” + 消息)
如果真 (请求方法名称返回标识 = “UseRightsAdRet”)
输出 (“每日任务请求成功返回:” + 消息)
如果真 (请求方法名称返回标识 = “BuyPvETimesRet”)
json.解析 (消息)
通关卡 = json.取属性 (“data['pve_data'].progress”).取数据文本 ()
json.清除 ()
通关发送 (到整数 (通关卡))
如果真 (请求方法名称返回标识 = “PvERet”)
输出 (“通关请求成功返回:” + 消息)
通关后处理 ()
如果真 (请求方法名称返回标识 = “BattleProgressRet”)
输出 (“通关后返回:” + 消息)
如果真 (请求方法名称返回标识 = “SettlePvEPush”)
输出 (“获得奖励返回:” + 消息)
json.解析 (消息)
关卡数 = 到整数 (json.取属性 (“data['stage_id']”).取数据文本 ())
json.清除 ()
延迟 (2000)
通关发送 (关卡数)
如果真 (请求方法名称返回标识 = “MatchmakingRet”)
isflag = 假
json.解析 (消息)
玩家数 = json.成员数 (“data.matches”)
json.清除 ()
计次循环首 (玩家数, i)
i = i - 1
json.解析 (消息)
屏障到期时间 = json.取属性 (“data.matches[”到文本 (i)“]['shield_end_time']”).取数据文本 ()
彩虹体 = json.取属性 (“data.matches[”到文本 (i)“].currency1”).取数据文本 ()
玩家id = json.取通用属性 (“data.matches[”到文本 (i)“]['player_id']”)
json.清除 ()
到期时间 = 时间_时间戳转文本 (屏障到期时间, 2)
输出 (“玩家信息:”“玩家昵称:” + 玩家id + “玩家彩虹体为:” + 彩虹体 + “玩家屏障时间:” + 到期时间)
如果真 (到整数 (彩虹体) > 20)
输出 (“挑战- 开始:” + 玩家id)
挑战_开始 (玩家id)
输出 (“挑战- 开始:” + 玩家id + “发送挑战成功。。。”)

计次循环尾 ()
isflag = 真
如果真 (请求方法名称返回标识 = “PlunderRet”)
isflag = 假
输出 (“挑战 - 开始:” + 玩家id + “:” + 消息)
json.解析 (消息)
code = 到整数 (json.取属性 (“code”).取数据文本 ())
json.清除 ()
判断 (code = 11)
程序_延时 (1500)
isflag = 真
_启动窗口.编辑框2.内容 = “”
挑战结束 (玩家id)

如果真 (请求方法名称返回标识 = “SettlePvPPush”)
掠夺完成处理 (消息)
如果真 (请求方法名称返回标识 = “UseItemRet”)
输出 (消息)
如果真 (请求方法名称返回标识 = “VerifyTokenRet”)
输出 (消息)
isflag = 真

子程序名返回值类型公开备 注
ws_定时发送  
参数名类 型参考可空数组备 注
ws整数型
商城_cha询 ()
WSS_发送_文本 (g_ws, #心跳发送 )
子程序名返回值类型公开备 注
_按钮2_被单击  
输出 (“开始完成每日任务。。。”)
WSS_发送_文本 (g_ws, _启动窗口.编辑框_URL3.内容)
每日商城 ()
商城_抽奖 ()
福利 ()
输出 (“完成每日任务成功。。。”)
子程序名返回值类型公开备 注
购买灵值和圣水商品  
变量名类 型静态数组备 注
消息文本型 
请求方法名称返回标识文本型 
i整数型 
订单id文本型 
发送文本文本型 
a整数型 
unit_count文本型 
count文本型 
成功计数整数型 
订单list文本型0
b整数型 
' WSS_发送_文本 (g_ws, #登录账号)
' 成功计数 = 0
' 延迟 (1000)
' WSS_发送_文本 (g_ws, #商城cha询)
'
' 消息 = 到文本 (WSS_取回数据_文本 (g_ws))
' json.解析 (消息)
' 请求方法名称返回标识 = json.取通用属性 (“type”)
. ' 如果真 (请求方法名称返回标识 = “ExchangesQueryViewRet”)
' 订单id = json.取通用属性 (“data['order_list'][” + 到文本 (b - 1) + “]['order_id']”)
' unit_count = json.取属性 (“data['order_list'][” + 到文本 (b - 1) + “]['unit_count']”).取数据文本 ()
' count = json.取属性 (“data['order_list'][” + 到文本 (b - 1) + “].things.data[0].item.count”).取数据文本 ()
' 成功计数 = 成功计数 + 到整数 (count)
' json.清除 ()
' json.清除 ()
' 延迟 (10)
' 计次循环尾 (计次循环尾 ()
' 调试输出 (“cha询成功的消息:” + 消息)
. ' 如果真 (请求方法名称返回标识 = “ExchangesQueryViewRet”)
. ' 计次循环首 (json.成员数 (“data['order_list']”), b)
' 发送文本 = 文本_替换 (#购买商品, , , , “f3191686b0fcb1f300d17efda3ef33d1da29b56a6bf67a88d28a10fa700283f8”, 订单id, “替换文本count”, count, “替换文本unit”, unit_count)
' WSS_发送_文本 (g_ws, 发送文本)
' 延迟 (500)
' 编辑框1.内容 = 到文本 (成功计数)
. ' 计次循环尾 ()
' json.清除 ()

' 延迟 (3000)
子程序名返回值类型公开备 注
购买资源  
变量名类 型静态数组备 注
发送文本文本型 
订单id文本型 
count文本型 
unit_count文本型 
请求方法名称返回标识文本型 
成功计数整数型 
a整数型 
消息文本型 
b整数型 
资源文本文本型 
停止逻辑型 
WSS_发送_文本 (g_ws, _启动窗口.编辑框_URL3.内容)
成功计数 = 0
延迟 (1000)
停止 = 真
判断循环首 (停止)
WSS_发送_文本 (g_ws, #资源商城cha询 )
计次循环首 (100, a)
消息 = 到文本 (WSS_取回数据_文本 (g_ws))
json.解析 (消息)
请求方法名称返回标识 = json.取通用属性 (“type”)
如果真 (请求方法名称返回标识 = “ExchangesQueryViewRet”)
订单id = json.取通用属性 (“data['order_list'][”到文本 (b - 1)“]['order_id']”)
unit_count = json.取属性 (“data['order_list'][”到文本 (b - 1)“]['unit_count']”).取数据文本 ()
count = json.取属性 (“data['order_list'][”到文本 (b - 1)“].things.data[0].item.count”).取数据文本 ()
json.清除 ()
跳出循环 ()
json.清除 ()
计次循环尾 ()
调试输出 (“cha询成功的消息:” + 消息)
如果真 (订单id ≠ “”)
计次循环首 (json.成员数 (“data['order_list']”), b)
资源文本 = json.取属性 (“data['order_list'][0].things.data”).取数据文本 ()
发送文本 = 文本_替换 ( #资源购买, , , , “c8f17c99eeafaafb17d49d14450a19ae65ab1c7e60dd93fcb3ffe395c1e08393”, 订单id, “替换文本unit”, unit_count, “资源文本”, 资源文本)
调试输出 (“资源购买发送:” + 发送文本)
WSS_发送_文本 (g_ws, 发送文本)
延迟 (500)
计次循环尾 ()
成功计数 = 成功计数 + 到整数 (count)
编辑框1.内容 = 到文本 (成功计数)
如果真 (成功计数 ≥ 到整数 (编辑框_发送内容.内容))
停止 = 假
信息框 (“购买完成”, 0, , )


延迟 (3000)
判断循环尾 ()
子程序名返回值类型公开备 注
_选择框_定时发送_被单击  
判断 (选择框_定时发送.选中)
输出 (“开启商城定时扫描 购买资源”)
WSS_发送_文本 (g_ws, _启动窗口.编辑框_URL3.内容)
延迟 (1000)
WSS_设置_心跳函数 (g_ws, 1000, &ws_定时发送)

WSS_移除_心跳函数 (g_ws)

子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
i整数型 
通关数整数型 
WSS_发送_文本 (g_ws, _启动窗口.编辑框_URL3.内容)
通关_前处理 ()
子程序名返回值类型公开备 注
_按钮5_被单击  
变量名类 型静态数组备 注
res文本型 
token文本型 
登录发送文本文本型 
输出 (“开始登录”)
res = 登录 (_启动窗口.编辑框_URL1.内容, _启动窗口.编辑框_URL2.内容)
json.解析 (res)
token = json.取通用属性 (“data.token”)
json.清除 ()
输出 (“登录业务返回:” + res)
res = 登录换token (token)
json.解析 (res)
token = json.取通用属性 (“token”)
json.清除 ()
输出 (“登录业务返回:” + res)
登录发送文本 = 文本_替换 ( #登录账号, , , , “66fab828a59423bf2d057702”, token)
_启动窗口.编辑框_URL3.内容 = 登录发送文本
输出 (“登录业务返回:”“登录成功。。。。”)
子程序名返回值类型公开备 注
_按钮3_被  



i支持库列表   支持库注释   
spec特殊功能支持库
EThread多线程支持库


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:0% (0/3)

签到天数: 5 天

 楼主| 发表于 昨天 17:37 | 显示全部楼层   广东省中山市
MatchmakingRet是这个请求方法名称标识
回复

使用道具 举报

结帖率:0% (0/3)

签到天数: 5 天

 楼主| 发表于 昨天 17:38 | 显示全部楼层   广东省中山市
大哥们求助 我用定时任务 发送请求 返回wss收到消息之后 然后输出  运行几个小时 就开始卡的不行 怎么解决呢
回复

使用道具 举报

结帖率:87% (13/15)

签到天数: 17 天

发表于 昨天 18:42 | 显示全部楼层   四川省巴中市
不要在收到消息事件下处理,收到的消息压入队列,用一条线程去处理队列里的消息
组件操作加许可证或者反馈事件
回复

使用道具 举报

结帖率:0% (0/3)

签到天数: 5 天

 楼主| 发表于 4 小时前 | 显示全部楼层   广东省中山市
随心o 发表于 2024-10-17 18:42
不要在收到消息事件下处理,收到的消息压入队列,用一条线程去处理队列里的消息
组件操作加许可证或者反馈 ...

如何压入队列  组件操作加许可证或者反馈事件
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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