Egret社区

[Egret Engine] 发现5.1.11引擎的一个严重bug

2018-5-18 21:15
11972
产品 Egret Engine 版本 5.1.11
复现概率 100% 平台 Windows 7
复现步骤 通过代理连接tcp游戏服务器
问题描述 原5.0.5的项目,升级到5.1.11后,socket通过代理连接游戏服务器,始终会出现读取数据的异常,发现升级到5.0.6问题就开始出现,经过代码比对和逐行替换,发现了是一下的一行 this.position += length;导致的问题,删除掉这行变成和5.0.5之前一样,问题解决。
错误代码 问题出在引擎库的egret.js文件中
ByteArray.prototype.readBytes = function (bytes, offset, length) {
if (offset === void 0) { offset = 0; }
if (length === void 0) { length = 0; }
if (!bytes) {
return;
}
var pos = this._position;
var available = this.write_position - pos;
if (available < 0) {
egret.$error(1025);
return;
}
if (length == 0) {
length = available;
}
else if (length > available) {
egret.$error(1025);
return;
}
bytes.validateBuffer(offset + length);
bytes._bytes.set(this._bytes.subarray(pos, pos + length), offset);
this.position += length; //这行导致问题
};
BUG截图

分享到 :
0 人收藏

2 个回复

倒序浏览
app小王子  社区管理员 | 2018-5-21 11:14:01
感谢onboard的反馈,我们已做记录。
Timmy.Chien  登堂入室 | 2019-3-15 11:45:16
app小王子 发表于 2018-5-21 11:14
感谢onboard的反馈,我们已做记录。

请问一下,这个bug后面有修正吗? 我在5.2.13版也有遇到。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部