[]LayaNative中运行程序网络请求异常
在我们项目中:
1.http请求使用的是Laya引擎中的HttpReqeust。
2.WebSocket因为历史原因使用的是SocketIO框架。
3.服务器是nginx,使用了多进程负载均衡。
现象:
在网页中和手机浏览器中访问服务器一切正常,秒进!但是在Native打包的app或在LayaPlayer中运行的程序在第一次使用httpRequest或WebSocket请求时会出现卡顿的情况。卡顿时间从1秒-10秒不等,http请求有时还会返回404错误。第一次请求成功后便不会出现卡顿情况一切流畅。
后打开安卓发布包查看发现:window.XMLHttpRequest和window.WebSocket这两个属性在Native中被重新修改成了Native自己封装的类。
查看Android studio debug发现
红色框中为http请求第一次卡顿的log信息(这个时候在download什么?)有时候这里卡顿久了会报404错误。
以上为socket第一次卡顿的地方,第一次链接请求为什么卡顿了?
初步怀疑Native中httpReqeust或WebSocket可能存在bug或者发送请求时的协议漏掉了什么?
请官方给出一些解决方案。
1.http请求使用的是Laya引擎中的HttpReqeust。
2.WebSocket因为历史原因使用的是SocketIO框架。
3.服务器是nginx,使用了多进程负载均衡。
现象:
在网页中和手机浏览器中访问服务器一切正常,秒进!但是在Native打包的app或在LayaPlayer中运行的程序在第一次使用httpRequest或WebSocket请求时会出现卡顿的情况。卡顿时间从1秒-10秒不等,http请求有时还会返回404错误。第一次请求成功后便不会出现卡顿情况一切流畅。
后打开安卓发布包查看发现:window.XMLHttpRequest和window.WebSocket这两个属性在Native中被重新修改成了Native自己封装的类。
查看Android studio debug发现
红色框中为http请求第一次卡顿的log信息(这个时候在download什么?)有时候这里卡顿久了会报404错误。
以上为socket第一次卡顿的地方,第一次链接请求为什么卡顿了?
初步怀疑Native中httpReqeust或WebSocket可能存在bug或者发送请求时的协议漏掉了什么?
请官方给出一些解决方案。
没有找到相关结果
已邀请:
要回复问题请先登录
3 个回复
guozhaokui
赞同来自:
httprequest请求的地址是你们自己的么?
这个不是我们发起的的请求,如果也不是你们的,那可能是socketio发起的?
Native打包的App不是浏览器,所以不知道会不会引起socketio不适?
建议用原生xhr和websocket在app中测试一下,确认一下问题出在什么地方
guozhaokui
赞同来自:
你是说由于请求了某个意外地址导致卡顿么,我们不会主动发起无关地址请求的。
socket那个,你用原生的websocket测试一下,不要用socketio
你说第一次http或者socket会卡顿,是说都会卡顿么,还是说这两个只会有一个卡顿。
最好给个完整日志
189*****077
赞同来自: