[i=s] 本帖最后由 GaiaApostle 于 2015-3-14 12:14 编辑
先说一句我的个人总结:能带损管带损管。我等普通百姓只能坐等大神们解析,不过这次似乎对于该类bug有眉目了。只有以上两句话是本人的观点,以下内容都是转述或概括。
图终于弄好了……
一、真神说不是他的锅
本图原为magami微博发布的
然而我没有sina微博号所以看不了这么长的图
故本图转自尼姑庵帖子http://bbs.ngacn.cc/read.php?tid=7942655
注意:此分析有人提出质疑,目前不能保证是正确的
←图在这
同一条微博中真神写道:
“4点才下班,回来不睡觉分析这个我也是蛋疼…这**,拿着这个去找运营估计还会被反咬一口未经许可反编译程序侵犯著作权。有精力的孩子可以继续挖,APIConnectionBase基类的本体我猜应该在Core.swf里,不过这文件有加密,破解估计需要点时间。让我背锅我肯定不乐意的,总之我现在很困先去躺了…”
二、该帖子209楼以及另一个帖子中有几人对真神的分析提出质疑
http://bbs.ngacn.cc/read.php?tid=7943837,注意不要看逗比的楼主,看下面其他人的讨论
目前,真神的说法暂不能确认是否正确。
209楼:“来赌五毛,真神要自己打脸
Load方法重载这么写的:
Line 17: 设定要加载的URL是相对地址: api_req_sortie/battle
重载的load方法是这么说的:
Line 24: _loc2_的Object为用_data.dto.getEmulateData
Line 26-28: 如果_loc2_为空,那么调用父类的load方法。
Line 29-37: 如果_loc2_非空,那么Debug.log输出字符串,使用_handleLoadComplete方法处理null和_loc2_。之后如果param1非空,则调用其dispatchEvent方法,参数是新的Event(COMPLETE)
以上是技术向内容。换用非技术向的,就是这么说:
如果服务器返回的内容之中可以用一个程序解析出来数据,就走过程2(29-37).否则就走过程1(25-28).
但是看红字。里面有Emulate。这个英文什么意思呢?对,是模拟的意思。所以我推测DMM有一台测试服务器,这台服务器上面出击的话会返回一个模拟(测试用)的数据。很有可能测试服务器不会沉船。
而且在29-37行,如果是模拟数据存在,那么还会输出到调试一行字。这个字是[Emulate]战斗开始。
从整个程序看来,对于出击做两次请求的唯一情况是:_data.dto.getEmulateData解析出的东西无效,才会做第二次请求。
DMM可能的锅是,服务器不小心打开了调试开关,然后模拟请求打一次,父类的load方法再来一次。这就是两次日战。
剧透日志的锅,我源代码查到JavaEE的代码就没有继续查下去。我是没有看到任何默认请求的超时行为是重试的。
在这里我想要问真神,防猫的代码敢不敢放出来看看?我一直对于防猫有很大疑虑,一般来说猫都是数据不完整导致的,这应该防吗? ”
三、已经出现一位苦主表示要跟角川刚正面
http://bbs.ngacn.cc/read.php?tid=7944200
真的勇士,敢于直面甩锅的角川{:4_90:}
等待结果
{:4_114:}然而喵只能看懂3分之1
不过也是辛苦你了…每次都发生这种事_(:з」∠)_
我就后排看一下程序猿们解说
{:4_88:}真神是靠岛风go吃饭的。。现在人人都会改host了。。岛风go唯一的优势就是防猫了。。你觉得真神会把这个放出来?
xiannuan 发表于 2015-3-14 08:59
然而喵只能看懂3分之1
不过也是辛苦你了…每次都发生这种事_(:з」∠)_ …
我只是在关注这个事情
我们能做的就是挂好损管做好能做好的一切事情,预防天灾
龙神阿渡 发表于 2015-3-14 09:02
我就后排看一下程序猿们解说
等程序猿们研究吧_(:з」∠)_
无畏级核潜艇 发表于 2015-3-14 09:02
真神是靠岛风go吃饭的。。现在人人都会改host了。。岛风go唯一的优势就是防猫了。。你觉得真神会把 …
那是209楼说的,又不是我。
我再改改,别误会我
GaiaApostle 发表于 2015-3-14 09:03
我只是在关注这个事情
我们能做的就是挂好损管做好能做好的一切事情,预防天灾 …
幸好现在是长草期么…
虽然喵并不觉得你的压力会减小_(:з」∠)_
喵没这么肝而且不用岛风go也不用kcv所以还好…吧?
…上损管_(:з」∠)_结论
等dalao们研究吧,最近趁脸好安心攒资源大建得了
{:4_114:}不明覺厲
不能说不懂但好厉害啊{:4_119:}
xiannuan 发表于 2015-3-14 09:05
幸好现在是长草期么…
虽然喵并不觉得你的压力会减小_(:з」∠)_
喵没这么肝而且不用岛风go也不用kcv所 …
是的,所以结论就是不管用不用各种插件,都要上损管_(:з」∠)_
我现在已经给1-5炸鱼队、2-3术士队、3-2的T上损管了,计划给5-4的主力队也上损管(但是这有点儿难,战斗力降低的不是一星半点)_(:з」∠)_
GaiaApostle 发表于 2015-3-14 09:09
是的,所以结论就是不管用不用各种插件,都要上损管_(:з」∠)_
我现在已经给1-5炸鱼队、2-3术士队、3-2 …
{:4_114:}不知道论坛的码农们什么意见
GaiaApostle 发表于 2015-3-14 09:05
那是209楼说的,又不是我。
我再改改,别误会我
{:4_102:}没有呀。。我知道不是你说,我就是发出这个疑问嘛。。。那些人都怎么想的
看懂到是能稍微看懂一点,但是感觉能力还是不够哈
以前在旺旺里和真神稍微聊过,感觉岛风go应该问题不大。
坐等dalao咯
getEmulateData难道不是获得战斗的模拟结果的意思么{:4_114:}
我只想知道为啥多发于更新刚结束的时候,角川居然会测试?经常出Bug居然还开服前测试过?不敢信
问题在于网路延迟下,客户端触发重读同时接受到数据包,是否引发重新战斗
个人感觉这段代码像是把战斗请求和获取结果请求耦合了
不明觉厉,但用了那么久背锅go都没想过用其他vpn了_(:з」∠)_
半吊子程序员只能看懂一点点{:4_114:}果断等大神
5-4刷战果的感觉很郁闷啊,潜艇没有CL的话S胜基本不可能了,估计A也够玄。。。
还有url应该只是告诉服务器触发哪一个功能模块,像是一个相对路径
没用过真神的,也没BUG过{:4_96:}
xiannuan 发表于 2015-3-14 08:59
然而喵只能看懂3分之1
不过也是辛苦你了…每次都发生这种事_(:з」∠)_ …
完全看不懂啊{:4_115:}
胡扯,要是DMM的锅那么日本那边不可能到现在都没有反应…
现在能动缓存的除了魔改和作死以外也就是真神防猫和KCV插件啦
当然网络延迟也有可能
完全看不懂。。
然而完全看不懂
我好像在NGA看到你了{:4_102:}{:4_103:}
問題發生在背鍋go身上……這次發生bug的人都有用背鍋go嗎
深海藻类 发表于 2015-3-14 11:02
問題發生在背鍋go身上……這次發生bug的人都有用背鍋go嗎
刚仔细看完你的签名之后,才发现这简直丧心病狂、无法直视{:4_114:}
不是这专业的看不懂……
不过从不用任何插件,翻墙也用的VPN,毕竟除了舰娘还有别的东西需要VPN……