急急急,cocos,websocket在android7.0,华为手机无法连接,模拟器和浏览器正常

哥哥们,求教!我的应用在模拟器和浏览器可以正常连接websocket,但在打包安装到手机就死活连接不上websocket

服务端:nodejs + ws

手机: android 7.0 华为青春版

这个问题整整折腾3天了,疯呀!麻烦大家了,帮忙给小妹看看!!!

再补充一点儿,android studio 中不报任何关于websocket的错!这2天把论坛里的帖子都翻遍了,还是没解决!难道大家没遇到吗?

记录下吧!!!!此问题就是个bug,小米手机运行正常!希望官方看到,下个版本修复下吧!!!

你这样问问题,别人是帮不到你的,websocket 在原生端只是一个库,我们每个版本都会测试功能,官方测试例可能不太完整,因为我们没有很好的服务端用例,不过其他用户用 websocket 的人也非常多,遇到问题会反馈。只是你的反馈基本没有价值,因为你没有展示你的用例,只是说一句死活连接不上,我们是无从查起的,其他人看到这样的描述,也只是一头雾水,想帮你都帮不到,看一眼也就关了页面

你打那么多感叹号,我的理解是你很着急,只是技术讨论不是情感沟通,即便你提供了有价值的信息(这里并没有),也可能会被无信息含量的情感宣泄遮盖或者带偏,建议大家在论坛的讨论能够更有效率一些

2赞

是的,你需要提供更详细的问题说明。比如:

  1. 华为手机上,你调用原生的web socket, 失败在哪一步?socket初始化函数调用的返回是成功的吗?网络抓包上的确发给服务器了吗?服务器收到之后发出数据了吗?手机上收到返回的数据包没有?

  2. 你用的是wifi还是4G网络?

  3. android studio中不报任何websocket的错,你的log fiter正确开启了吗?查错的时候增加了额外的log信息打印了吗?函数调用栈自己检查一下,是哪一步的函数返回错误了?

这些都是代码调试中的基本功啊,你在问题的外围转来转去,没有深入查进去,是得不到结果的,我们也不可能从一句『连不上』『闪退』来帮你解决问题。

我们这几年见过的BUG各种各样。

  • 见过某款山寨手机里面用的某款高通小批量GPU、本身GPU封装出来的OpenGL ES API有BUG的,改个内存对齐的初始化参数就OK了。你以为是游戏问题、或者甩锅给引擎,结果是硬件芯片问题。
  • 见过特定机型的音频播放导致游戏崩溃,结果一路查到音频渠道(早年臭名昭著的三星i1900音频BUG),三星后来也修复了这个音频驱动BUG。
  • 十几年前还调过从『程序跑起来很卡』一路查到操作系统、往下再到硬件驱动层、最后查到某个批次芯片的某根GPIO引脚在一定温度范围内概率性出问题,这种锅你表面上看着可能是应用、接着怀疑是操作系统系统、或者驱动,但最后是硬件芯片的问题。

所以你的问题描述停留在表面,很急很急,这是没啥用的唉。

1赞

我也用的ws和wss,荣耀v8,也是android7.0,局域网测试没问题啊
服务器是go

你可以尝试下,把APP ABI多勾选几个试一下,我现在就是这么做的~

这个问题确实存在,安卓7.0 在我们cocos用websocket 然后打包发布安卓版本后,无法连接,估计有两种可能,一种是握手不成功,一种是websocket没有被成功的运行,希望大大可以解决下这个问题

这个问题确实存在,安卓7.0 在我们cocos用websocket 然后打包发布安卓版本后,无法连接,估计有两种可能,一种是握手不成功,一种是websocket没有被成功的运行,希望大大可以解决下这个问题。

Creator 什么版本,在 Android 7.0 的什么机型有问题,Android 的其它版本就没问题么,官方的测试项目中的 websocket 用例在同样的条件下是否正常。

希望尽可能多的提供一些线索,至少能达到按照你描述的条件,可以复现问题


补充:其它开发者发现的解决方式

http://forum.cocos.com/t/cocoscreator-1-6-1-android-7-0-websocket/51740/30?u=2627993092

我也遇到了,发布的h5 游戏, 在ios的浏览器正常,pc正常, 在安卓上就连接不上带证书的https wss

解决了没

应该很难解决,是websocket库底层的问题

还有socketIO库重连,也不稳定。。在不同机型下会很奇葩

关键是没有任何报错,单纯connect后就没反应了,包没有发出去

为此专门买了几个有问题的机型。但是同样的机型,安卓版本不一样,有的居然是正常的

如果只做原生项目真不该选择 creator

几乎都是安卓5.0, 安卓7.0的机器有问题。。。华为的问题最多,也可能因为华为的用户最多吧

同样遇到过,我用protobuff.js,服务器收不到链接,websocket没反应,1.9.3,华为尤其多,不知道现在解决了还有这个问题,哎,懒得研究了

这种问题跟不是啥渲染问题,估计是大小端什么的,没真机,单纯猜测

我之前遇到过使用wss,无法在android上跑,那是因为,可能游览器自带各种根证书,但是android上没有证书,所有无法连接。需要手动把证书放到项目里就行了。

这边出现了一个,暂时是只有荣耀手机出现的,荣耀8.9微信小游戏,ccc2.0.9,在特定wifi下websocket会无法创建连接,4g网跟以前的wifi都是好的,在建立连接的过程中会告诉我timeout,然后主动调了close,错误码是1000,服务器是完全没收到链接的,同时部分别的小游戏也会无法进入。。不知道是因为什么原因

微信BUG。 7.0.1搞过一次, 现在 708 709还有。。。官方又不解决,只能望着
主要是华为机型有问题,广告里最闪亮的华为P30铁定连不上
微信论坛有多人反馈。。。只能登官方

但是4g网跟某一个wifi又是好的,官方回复我说是网络本身的问题。。。