Egret社区
本帖最后由 川的龙骨 于 2020-7-21 11:19 编辑

在普通浏览器和qq开发工具上都没问题,但是在真机上,socket.close()之后,websocket还是connected为true,然后这时候发起connectByUrl就没有反应。


具体操作就是先连接成功后,手机断网,这时候会监听到IO_ERROR,弹出网络提示页面,然后开启网络,点击网络提示页上的重连按钮,再这里面先socket.close(),此时connected仍为true,然后再重新连接connectByUrl,发现无法连接。是不是无法关闭??

求助各位大佬!!
分享到 :
0 人收藏

5 个回复

倒序浏览
app小王子  社区管理员 | 2020-7-21 16:40:26
麻烦提供复现demo
川的龙骨  登堂入室 | 2020-7-22 11:51:07

用这个demo,先点击按钮连接,会打出连接成功,然后真机上断网,会监听到IO_ERROR,而不是CLOSE,然后就无法重新连接了

testqqgame.zip

1.55 MB, 下载次数: 3, 下载积分: 银子 -1

手q测试

川的龙骨  登堂入室 | 2020-7-22 13:58:08

或者有什么办法我能够真的把socket干掉,然后遇到错误的时候我重新new一个socket,否则会有上限5个的错误
川的龙骨  登堂入室 | 2020-7-24 10:27:03
终于找到方法,先将egret的websocke换成qq的websocketi,但是这样就是得两种模式切换
shaoliufei  登堂入室 | 2020-7-29 11:35:28
websocket关闭的时候有个状态CLOSING 中,然后才是CLOSED关闭
我以前遇到过socket关闭,立即重连 会导致连接没反应。
解决办法是socket关闭后 加个间隔时间(500-1000毫秒) 然后在重连。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

川的龙骨

登堂入室

积分: 24 帖子: 6 精华: 0

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

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

返回顶部