[LayaNative 1.0]native1.0.5 wss发送消息速度过快导致延迟

前两天项目在使用wss的时候发现在app端游戏卡顿,花了两天时间一直没有解决,于是没办法只能在社区发了一个200块的悬赏贴,不过应着寥寥,也没有什么好的思路。
后来求助官方人员,想要付费解决,不过实在太贵,我一个小程序也搞不定,所在项目组也就一个小工作室,老大让我自己相信办法。无奈只好想办法整个demo出来,希望有官方人员能抽空帮忙看看,这个问题好像不是我代码的原因,而是贵方的bug,如果你们发现确实是自己的bug希望可以帮忙解决下,如果是我代码的问题我再想别的方法。
具体bug产生的环境是:LayaAir1.7.21  LayaIDE 1.7.21  LayaNative 1.0.5
问题是长连接websocket使用wss协议,在native上(包括ios跟Android)频繁发送消息或者接收消息,导致卡顿。据说WebSocket 中的send( ) 方法是异步的:提供的数据会在客户端排队,而函数则立即返回。很有可能这个卡顿就是排队导致的。
注:(上面的问题在h5端不管用ws还是wss 或者native上不管ios还是Android使用ws这几类情况下都几乎[可能是不够频繁,这几种情况的容量处理速度大把]没有出现这个问题)。
以下是图一,这是在浏览器下的wss效果,基本处理时间都是0.250秒左右:

a.png

下面是图二,这是在android端使用wss协议的情况,跑了几分钟后就达到了80多秒延迟,并且每一次处理时间都会增加:

b.png

再下面是图三:这是在Android端使用ws协议的情况,跑了一段时间后跟pc下浏览器的效果差不多:
c.png

 
ios跟Android的h5端我没测试,不知道是不是正常的,最后说一下搭建的环境。
因为我要模拟项目的线上环境,所以本地用宝塔搭了一个服务器,然后绑定了一个域名game.com,请求的websocket地址是websocket.org提供的实例,之前官方说他们也是用的第三方库不知道是不是这个,这个网站提供的示例同时支持wss跟ws的。
然后过程中首先将ts项目发布web,将js合并为code.js,然后混淆了代码,再使用打包工具发布了Android Studio项目,还用到了layadcc工具生成cache之类的。
最后便是本次bug的demo了,这里只有web代码,Android项目的代码需要自己生成。
 
 
已邀请:

要回复问题请先

商务合作
商务合作