2.0.7 google instant game web socket 连接不上

  • Creator 版本:2.0.7

  • 目标平台: Android

  • 详细报错信息,包含调用堆栈:

2019-01-28 11:23:27.207 26127-26146/org.cocos2d.instant_game D/jswrapper: JS: LoadScene 0fFE2AMtJAV5i2iNn4AVze: 6.237999999997555ms
2019-01-28 11:23:27.208 26127-26146/org.cocos2d.instant_game D/jswrapper: JS: InitScene: 0.2510000000038417ms
2019-01-28 11:23:27.208 26127-26146/org.cocos2d.instant_game D/jswrapper: JS: AttachPersist: 0.21700000000419095ms
2019-01-28 11:23:27.208 26127-26146/org.cocos2d.instant_game D/jswrapper: JS: AutoRelease: 0.23000000001047738ms
2019-01-28 11:23:27.225 26127-26146/org.cocos2d.instant_game D/jswrapper: JS: Destroy: 16.660000000003492ms
2019-01-28 11:23:27.234 26127-26146/org.cocos2d.instant_game D/jswrapper: JS: Activate: 5.010000000009313ms
2019-01-28 11:23:27.235 26127-26168/org.cocos2d.instant_game D/WebSocket.cpp: scheme: wss, host: echo.websocket.org, port: 0, path: 
2019-01-28 11:23:27.236 26127-26168/org.cocos2d.instant_game D/WebSocket.cpp: CA file (/data/user/0/org.cocos2d.instant_game/files/7dfa125f-cee5-4270-9603-f7a0efba19bd.2c435.pem) in writable path exists!
2019-01-28 11:23:27.236 26127-26168/org.cocos2d.instant_game D/WebSocket.cpp: NOTICE: Creating Vhost 'default' port -1, 2 protocols, IPv6 on
2019-01-28 11:23:27.256 26127-26168/org.cocos2d.instant_game D/WebSocket.cpp: WebSocket (0x9320da80) Unhandled websocket event: 32
2019-01-28 11:23:27.252 26127-26127/org.cocos2d.instant_game W/Thread-3: type=1400 audit(0.0:176): avc: denied { node_bind } for scontext=u:r:ephemeral_app:s0:c512,c768 tcontext=u:object_r:node:s0 tclass=tcp_socket permissive=0
2019-01-28 11:23:27.256 26127-26168/org.cocos2d.instant_game D/WebSocket.cpp: WebSocket (0x9320da80) Unhandled websocket event: 29
2019-01-28 11:23:27.257 26127-26168/org.cocos2d.instant_game D/WebSocket.cpp: ERR: ERROR on binding fd 58 to port 0 (-1 13)
2019-01-28 11:23:27.257 26127-26168/org.cocos2d.instant_game D/WebSocket.cpp: WebSocket (0x9320da80) Unhandled websocket event: 33
2019-01-28 11:23:27.257 26127-26168/org.cocos2d.instant_game D/WebSocket.cpp: WebSocket (0x9320da80) onConnectionError, state: 0 ...
2019-01-28 11:23:27.257 26127-26168/org.cocos2d.instant_game D/WebSocket.cpp: WebSocket (0x9320da80) onConnectionClosed, state: 2 ...
2019-01-28 11:23:27.257 26127-26168/org.cocos2d.instant_game D/WebSocket.cpp: onConnectionClosed, WebSocket (0x9320da80) is closing by server.
2019-01-28 11:23:27.257 26127-26168/org.cocos2d.instant_game D/WebSocket.cpp: WebSocket (0x9320da80) onConnectionClosed DONE!
2019-01-28 11:23:27.257 26127-26168/org.cocos2d.instant_game D/WebSocket.cpp: WebSocket (0x9320da80) onConnectionClosed, state: 3 ...
2019-01-28 11:23:27.257 26127-26168/org.cocos2d.instant_game D/WebSocket.cpp: WebSocket (0x9320da80) onConnectionError, state: 3 ...
2019-01-28 11:23:27.565 1678-2521/? D/NetworkMonitor/NetworkAgentInfo [WIFI () - 101]: PROBE_FALLBACK http://www.google.com/gen_204 Probably not a portal: exception java.net.SocketTimeoutException: failed to connect to www.google.com/2404:6800:4008:800::2004 (port 80) from /fec0::d089:e460:b955:1894 (port 45852) after 10000ms
2019-01-28 11:23:27.567 1678-1762/? D/WifiStateMachine: NETWORK_STATUS_UNWANTED_VALIDATION_FAILED
2019-01-28 11:23:29.864 1678-1695/? E/memtrack: Couldn't load memtrack module
2019-01-28 11:23:29.864 1678-1695/? W/android.os.Debug: failed to get memory consumption info: -1
  • 重现方式:在android instant game中进行ws或者wss连接都会出现。

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

  • 出现概率:100%

  • 额外线索:在原生android试过了ws和wss连接,都没有问题。

我现在使用2.0.10也遇到这个问题,感觉这个问题会石沉大海

已经沉了好久了……

这个问题好像是因为Java 客户端创建 websocket 连接的方式有关,创建连接的那个库用了一些沙盒里禁止使用的方法……

我试过 HTTPS 是可以用的。

不过我们后来改成了单机体验版。

我用Cocos带的websocket不能创建连接之后,就直接使用Java代码封装了一个websocket代码,在JS里使用websocket的时候直接调用Java接口

大佬们看看,怎么解决

大佬们有解决吗,我引擎更新到2.2,打包google instant app也连不上webscoket