Foxtable(狐表)用户栏目专家坐堂 → [求助]OpenQQ同时多人请求下载小文件时会出错,会是BUG吗?


  共有2742人关注过本帖树形打印复制链接

主题:[求助]OpenQQ同时多人请求下载小文件时会出错,会是BUG吗?

帅哥哟,离线,有人找我吗?
hui986
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:494 积分:3432 威望:0 精华:0 注册:2012/3/29 21:15:00
[求助]OpenQQ同时多人请求下载小文件时会出错,会是BUG吗?  发帖心情 Post By:2016/7/20 23:27:00 [显示全部帖子]

今天再强化测试,多人同时下载“图标”文件(小文件每个5~10KB)

服务端我已改为一个一个文件下载,不用批量的概念了

但还提示【出错】

 


图片点击可在新窗口打开查看此主题相关图片如下:下载时出错.jpg
图片点击可在新窗口打开查看

 

注:一个人下载时不出错,多人同时发出请求下载时出错
关闭出错时,服务端又能将请求下载的文件全部发送到终端


 回到顶部
帅哥哟,离线,有人找我吗?
hui986
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:494 积分:3432 威望:0 精华:0 注册:2012/3/29 21:15:00
  发帖心情 Post By:2016/7/21 6:11:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160721060108.jpg
图片点击可在新窗口打开查看
我改用了用事件较对数量再执行下一个队列,发现跟踪不了全局变量的变化

 

如果用对话框测试的方式,就能跟踪全局变量的变化,也能同时顺利执成完成!

如果注释掉“对话框的提示”,变量却不能正常比对!

 


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160721060855.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160721063638.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/7/21 6:38:25编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
hui986
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:494 积分:3432 威望:0 精华:0 注册:2012/3/29 21:15:00
  发帖心情 Post By:2016/7/21 13:30:00 [显示全部帖子]

以下是引用Hyphen在2016/7/21 8:57:00的发言:
比较的条件是2个值相等并且其中一个大于0,才执行if的代码,很明显最后截图的返回值不符合条件的

嗯,所以全局变量(Var)值的变化,程序捕获不够快或者没有捕获

以至没有执行,if的代码

[此贴子已经被作者于2016/7/21 13:51:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
hui986
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:494 积分:3432 威望:0 精华:0 注册:2012/3/29 21:15:00
  发帖心情 Post By:2016/7/21 13:38:00 [显示全部帖子]

以下是引用狐狸爸爸在2016/7/21 9:02:00的发言:
在错误提示窗口,勾选详细信息,将整个错误提示复制粘贴后发上来看看
[此贴子已经被作者于2016/7/21 9:04:09编辑过]

狐爸,您好!

一、服务器的错误,详细信息就是第一个截图,现在用队列的方法,服务端就很少出现上述错误提示,但时有发生!

 

二、我应用你的指引,每次取十个文件的发送信息,再用信息交换来确认发送数量相等,

如果正确,才执行下一个发送队列 , 我是用全局变量的变化来计算接收成功的文件数量,

问题是很多时候,Var的值变化了,但有时捕获不到!以至不执行下一个发送任务

【试过有一两次运行正常】

[此贴子已经被作者于2016/7/21 13:43:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
hui986
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:494 积分:3432 威望:0 精华:0 注册:2012/3/29 21:15:00
  发帖心情 Post By:2016/7/21 13:49:00 [显示全部帖子]

以下是引用大红袍在2016/7/21 9:12:00的发言:
 还是做实例发上来吧。

袍哥,你好!这个里面涉及很多内容与关系逻辑, 很难提取一个实例来!图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
hui986
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:494 积分:3432 威望:0 精华:0 注册:2012/3/29 21:15:00
  发帖心情 Post By:2016/7/21 14:35:00 [显示全部帖子]

以下是引用大红袍在2016/7/21 14:24:00的发言:

 不明白你为什么要用到 GlobalVariableChanged 事件。

 

 做个小例子说明一下你的问题,肯定是你代码有问题。

 

因为我发现一个规律,只要服务端正在发送文件的时候,有客户端请求发送文件时,服务器会出现错误

 


图片点击可在新窗口打开查看此主题相关图片如下:下载时出错.jpg
图片点击可在新窗口打开查看

 

为了避免这个错误,我加入了一个变量测试服务器是否正在发送文件,

如果是在发送文件,就先等发送完正在发送的队列,才执行下一个队列

如果要确定是否发送完队列就用了终端的一个变量来计数器来检测了,

所以就用到GlobalVariableChanged 事件。

 


 


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160721060855.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/7/21 14:35:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
hui986
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:494 积分:3432 威望:0 精华:0 注册:2012/3/29 21:15:00
  发帖心情 Post By:2016/7/21 14:44:00 [显示全部帖子]

袍哥,有没有更好的方式来处理?

或都改变模式呢?

 

 

现在测试的模式就是用了【狐爸】的控制思路来做的,  以下是上次狐爸的提议

我举个例子:

foxtable内在的文件传输,用的是分包,将一个大文件分成上千个包,一开始就发送10个包,每次检查有包发送成功的确认信号,就发下一个包,这样始终保持有10个左右的包处于发送状态,充分利用带宽,同时也不至于因为资源耗尽导致系统出错。
不仅仅是文件,OpenQQ在发送一些很长的字符串时,例如好友列表,离线消息等等,都是用这个方法,将字符串分割成包发送,不会一次发送出去。

 

所以你也可以改变设计思路,将要发送的文件加入一个集合。
第一次发送10个文件,利用这个事件检查是否有文件发送完成:
http://www.foxtable.com/webhelp/scr/3028.htm

http://www.foxtable.com/webhelp/scr/3030.htm

 一旦有文件发送完成,就发送下一个待发文件,始终保持有10个文件处于发送状态,高效稳定。

[此贴子已经被作者于2016/7/21 14:44:44编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
hui986
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:494 积分:3432 威望:0 精华:0 注册:2012/3/29 21:15:00
  发帖心情 Post By:2016/7/21 14:52:00 [显示全部帖子]

我目前为了避免服务器报错,一个一个文件发送,没有出现问题

但大大减少了文件传输了效率,更新终端的小图太慢了,体验不好!

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160721144812.jpg
图片点击可在新窗口打开查看

 

 

以上图是现在一个一个下载时的效果

以下是下载完小图后的效果


 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160721145021.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
hui986
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:494 积分:3432 威望:0 精华:0 注册:2012/3/29 21:15:00
  发帖心情 Post By:2016/7/21 14:54:00 [显示全部帖子]

经测试,OPENQQ是可以批量下载文件,而且速度可以很快,就是要想办法控制好批量下载的队列

不然就会出现下图的提示信息


图片点击可在新窗口打开查看此主题相关图片如下:下载时出错.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
hui986
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:494 积分:3432 威望:0 精华:0 注册:2012/3/29 21:15:00
  发帖心情 Post By:2016/7/21 15:20:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:控制思路.jpg
图片点击可在新窗口打开查看
但服务端会出现:

 


图片点击可在新窗口打开查看此主题相关图片如下:下载时出错.jpg
图片点击可在新窗口打开查看

 回到顶部
总数 15 1 2 下一页