开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 1936|回复: 7
收起左侧

[已解决] 启动线程 把文本参数如何传递进去。(webqq消息的处理方案)

 关闭 [复制链接]
结帖率:99% (269/273)
发表于 2015-2-19 05:47:34 | 显示全部楼层 |阅读模式   广东省广州市
10精币
我做的是webqq协议。    心跳会返回一个文本,这个文本里面包含  好友消息 以及群消息等。  
我想实现这些功能。
1:如图,每次心跳后,  启动一个线程来处理  返回的文本。(这样如果处理消息用的时间长  也不会耽误心跳 而导致掉线)
2:这个文本型数据   传递到 处理消息   这个   子程序后 处理完毕后  要将 这个文本从内存中  消除(这样可以实现长时间挂机。因为webqq返回的心跳文本 如果每次都保存在内存中 不清除  就会出现崩溃。)
如何把 文本数据传递到 线程中啊。    还有就是  心跳文本 用什么样的数据结构保存比较好啊(要不断的加入和删除,处理完一个  删除一个,节约内存)
想不出好的解决方案,求大神点拨~~
webqq处理消息.jpg

最佳答案

查看完整内容

.版本 2 .支持库 spec .支持库 EThread .子程序 _按钮1_被单击 .局部变量 心跳包内容, 文本型 .局部变量 心跳包指针, 整数型 心跳包内容 = 包1 + “||” + 包2 心跳包指针 = 取变量数据地址 (心跳包内容) 启动线程 (&处理消息, 心跳包指针, ) .子程序 处理消息 .参数 包指针 .局部变量 包内容, 文本型 .局部变量 包组, 文本型, , "0" 包内容 = 指针到文本 (包指针) 包组 = 分割文本 (包内容, “||”, ) . ...

求助知识:请将问题描述清楚,最好把你有问题的源码打包上传上来,这样更方便大家帮助你。
友情提醒:本版被采纳的主题可在 申请荣誉值 帖子申请荣誉值,获得 3点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
发表于 2015-2-19 05:47:35 | 显示全部楼层   山东省枣庄市
  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
心跳包内容文本型 
心跳包指针整数型 
心跳包内容 = 包1 + “||” + 包2
心跳包指针 = 取变量数据地址 (心跳包内容)
启动线程 (&处理消息, 心跳包指针, )
子程序名返回值类型公开备 注
处理消息  
参数名类 型参考可空数组备 注
包指针 
变量名类 型静态数组备 注
包内容文本型 
包组文本型0
包内容 = 指针到文本 (包指针)
包组 = 分割文本 (包内容, “||”, )


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



.版本 2
.支持库 spec
.支持库 EThread
.子程序 _按钮1_被单击
.局部变量 心跳包内容, 文本型
.局部变量 心跳包指针, 整数型

心跳包内容 = 包1 + “||” + 包2
心跳包指针 = 取变量数据地址 (心跳包内容)
启动线程 (&处理消息, 心跳包指针, )

.子程序 处理消息
.参数 包指针
.局部变量 包内容, 文本型
.局部变量 包组, 文本型, , "0"
包内容 = 指针到文本 (包指针)
包组 = 分割文本 (包内容, “||”, )

评分

参与人数 1荣誉 +3 收起 理由
笨潴 + 3 热心帮助他人,荣誉+3,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:42% (30/72)
发表于 2015-2-19 09:24:25 | 显示全部楼层   广东省广州市
本帖最后由 超级英雄 于 2015-2-19 09:30 编辑

刚才的答案删了,我试试发现是乱码
回复

使用道具 举报

结帖率:100% (17/17)
发表于 2015-2-19 09:44:14 | 显示全部楼层   广东省潮州市
弄成程序集变量或者全局变量 你非要做 就传指针 再还原
回复

使用道具 举报

头像被屏蔽
结帖率:76% (19/25)
发表于 2015-2-19 09:47:06 | 显示全部楼层   河南省安阳市
你可以这样子,
精益模块,有传递文本参数的启动线程,
但是你可以在登录成功之后,把心跳包的参数,加入成员,
也就是加入到数组里面,
最后心跳包子程序那边,在用上这个数组,即可.
回复

使用道具 举报

结帖率:100% (4/4)

签到天数: 8 天

发表于 2015-2-19 11:40:22 | 显示全部楼层   广东省潮州市
传个指针,或者用程序局/全局变量数组(整数参数传数组索引值,可以用栈的思路处理),或者直接把数据写到外部用一个独一无二的标示值表示,再传那个独一无二的标示值过去。推荐用第二个方法。
回复

使用道具 举报

结帖率:99% (269/273)

签到天数: 1 天

 楼主| 发表于 2015-2-28 02:11:07 | 显示全部楼层   广东省广州市
百弊若愚 发表于 2015-2-25 17:40
[e=2].版本 2
.支持库 spec
.支持库 EThread

局部变量可以用  指针传到  另外一个子程序?
是不是写错了啊?
回复

使用道具 举报

发表于 2015-2-28 12:51:52 | 显示全部楼层   山东省枣庄市
E族x天天软件 发表于 2015-2-28 02:11
局部变量可以用  指针传到  另外一个子程序?
是不是写错了啊?

可以,传的是局部变量的指针,指针指向的是变量存放的内存地址,只要变量不被重新赋值,指针不变,一旦重新赋值,就要重新取它的指针,比如:
.版本 2
.支持库 spec
.支持库 EThread

心跳包内容 = “我”
心跳包指针 = 取变量数据地址 (心跳包内容)
启动线程 (&处理消息, 心跳包指针, )
心跳包内容 = “你”
心跳包指针 = 取变量数据地址 (心跳包内容)
启动线程 (&处理消息, 心跳包指针, )



建议你试下。
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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