Websocket从后台恢复后无法接收数据(Android)

cocos js Android home键,游戏切到后天,过一段时间在切回到游戏, websocket 只能发数据,不能接受数据。哪位大神知道这种情况怎么解决。

很明显你切到后台回来后网络已断开了,你的发数据也是假像,根本没发出去

你说的能发数据……服务器收到了吗?

收到了,服务器收到数据处理后,发送客户端,客户端没有接受到。

1赞

网络心跳必须自己用java或者oc写,不然js写到了后台就没心跳了

根据我的经验,IOS版本切换后后台,一切正常。
Android切换后会出现上述问题,但是如果打包的模板设置成 binary,那么就有心跳包。
但是,调用原生JAVA函数就会出现错误,始终报找不到方法。
模板改成Default,方法调用正常,但是心跳包丢失,切换后台网络既断开。
正在研究,同时,发送数据好像是没问题。
04-24 01:15:50.124 15564 15564 W onResp: : onResp success resive
04-24 01:15:50.124 15564 15564 W onResp errorCode:: 0
04-24 01:15:50.127 15564 15564 D cocos2d-x debug info: getRequstTokenByCode:0316wr1C1KpU010ew23C1Zfz1C16wr1o
04-24 01:15:50.127 15564 15564 D cocos2d-x debug info: getRequstTokenByCode nowDate:2017-4-24
04-24 01:15:50.221 15564 15564 D cocos2d-x debug info: >>> SEND
04-24 01:15:50.221 15564 15564 D cocos2d-x debug info: destination:/app/usercode_resive_message
04-24 01:15:50.221 15564 15564 D cocos2d-x debug info: content-length:141
04-24 01:15:50.221 15564 15564 D cocos2d-x debug info:
04-24 01:15:50.221 15564 15564 D cocos2d-x debug info: {“messageBelongsToPrivateChanleNumber”:"",“messageAction”:“getTokenByCode”,“messageType”:"",“messageBody”:“0316wr1C1KpU010ew23C1Zfz1C16wr1o”}
04-24 01:15:50.221 15564 15564 W WXEntryActivity: done the
04-24 01:15:50.229 15564 15564 D Cocos2dxActivity: onResume()
04-24 01:15:50.229 15564 15564 V MicroMsg.SDK.WXApiImplV10.ActivityLifecycleCb: org.cocos2dx.javascript.wxapi.WXEntryActivity onActivityResumed
04-24 01:15:50.236 15564 15564 D ActivityThreadInjector: clearCachedDrawables.
04-24 01:15:50.366 15564 15564 D Cocos2dxActivity: onWindowFocusChanged() hasFocus=true
04-24 01:15:50.992 15564 16036 E cocos js error:: line:0 msg:too much recursion

正在研究当中,

1赞

大佬,研究出结果了么

看完激励视频或者其他东西,导致后台回复后立马发送网络请求,服务器能正常收到,但是下发的数据,客户端就收不到。切回来后,加个延迟发送给服务器,就能正常发送和接收。有大佬知道原因吗