WebSocket的BUG

Creator版本:1.5.1
平台:ios native
运行手机:iphone 5S
发生频率:偶尔
网络环境:wifi
BUG:当已经建立的连接长期不用,或者发生错误时(具体可以把app放后台),偶尔出现调用WebSocket对象的close后,不会触发onclose回调。

这个的确有

是有这个问题的 从后台回来还是要自己用心跳判断一下有没有掉线的

心跳加了,要去close那个socket,有时去close会宕机,已经确认这个对象是存在的。

websocket是浏览器实现的,不是引擎团队实现的

native

心寒的是,BUG也没人管。

cc.game.restart()会宕机

你用心跳判断了之后,把当前的socket手动close掉,然后再重连不行吗

这个宕机是websocket引起的么?
引擎的websocket是封装了libwebsockets这个c库,如果c库没有给onclose事件,引擎也没法回调给开发者onclose事件的。具体我们会再确认一下。

cc.game.restart()会崩溃,定位到是什么问题了么?

libwebsockets好像有超时相关的设置,估计时间设置比较长。我这里试后再想想有没有更好的解决方案。

可能我也遇到这个问题了

我很想知道官方为什么不用socket,要用websocket

因为要兼容h5。 你可以用SocketIO啊

1.4.2版本中,网络都断了,iphone7plus 都要过好长时间才触发onClose事件,还不清楚1.5.1版本个有这个问题

1.4.2 socket.close() 必死。。。。。 我都注释掉了。