官方的测试用例跑了下,没有复现该问题,你试试官方测试用例的用法。
我用浏览器不会出现这个情况。因为在native是使用creator集成的socketIO,在浏览器是在socket.io官网下载的最新版本的。nodejs也是最新版本的。不知道是不是集成的socketIO跟nodejs的socket.io版本不一致导致的。
官方用例是在native上做测试也是没问题的,你参考下,如果你的服务端与现有的socketIO代码协议不匹配,建议不要使用原生的socketIO。
谢谢回答。但是我现在把前后端的socket.io的版本都调到2.2.0了,还是一样的出现这个问题。在模拟器运行会先如题的错误,在浏览器就不会出现。我没有做多余的操作。你可以帮我看一下怎么解决吗?这是我客户端的代码:
你好,我感觉是native的问题。我连接官方示例里面的地址,效果也是一样,模拟器只会连上一次,虽然没有主动断开,但是心跳断了。但是使用浏览器就不会有这个问题,浏览器的心跳会一直跑。
给我个demo,还有服务端地址,我看看什么情况
这个使用的就是官方demo里面的服务器地址。麻烦看一下,谢谢了。
Native版本的socketIO协议兼容性有问题,所以没有心跳,但是网络是正常的,这个我反馈一下。
对的,在1.8.2版本只是没有心跳,但是在2.0.5版本会直接断开。这个也麻烦反馈一下。还有一个问题我没有弄懂,在native难道使用的是引擎自带的那个socketIO吗?不是我导入的socket.io那个插件吗?
抱歉,断开的问题找到了,与creato版本无关。是服务端socket.io版本的问题,我把服务端socket.io的版本改为1.4.4就没问题了。谢谢回答我的问题。
恩,就是下载下来导入为插件的。
已经反馈了,你导入的socket.io应该是从别的开发者复制过来的,本身不兼容native环境。
不是的,我是在socket.io官网下载的client的最新版本。
大佬,你好,我用的websocket,wss,浏览器和微信都可以连接成功,模拟器就会失败,不知道啥问题
那说明cocos的模拟器本身就有问题
官方范例有示例代码,需要传入证书,遇到第三个参数语法报错,可以直接忽略,不影响编译。
https://github.com/cocos-creator/example-cases/blob/39eb67d2ef2572a8d2f33ac9ccbfbaba714254dd/assets/cases/05_scripting/11_network/NetworkCtrl.js#L106
我有传证书哦,微信和网页都可以,就模拟器不行
算了,反正不影响正式发布平台,模拟器不行也没关系
