补丁:2.4.x版本wss需要指定本地ca证书的问题

这是什么

这是在CocosCreater2.4.x版本中Android平台使用websocket的wss连接时不需要指定本地cafile的补丁. 实现方式是: c++层不再使用libwebsocket库而是通过jni调用java的okhttp3库

兼容版本

2.4.0 - 2.4.15都支持,2.4.12版本可直接文件夹覆盖

修改步骤

  1. 复制新文件 cocos2d-x/cocos/network/WebSocket-okhttp_android.cpp 到对应引擎目录
  2. 对比修改 cocos2d-x/cocos/Android.mk network/WebSocket-libwebsockets.cpp \ 替换为 network/WebSocket-okhttp_android.cpp \
  3. 对比修改 cocos2d-x/cocos/platform/android/jni/JniHelper.cpp
  4. 对比修改 cocos2d-x/cocos/platform/android/jni/JniHelper.h
  5. 复制新文件夹 cocos2d-x\cocos\platform\android\java\src\src\org\cocos2dx\lib\websocket 到对应引擎目录
  6. 复制新文件 cocos2d-x\cocos\platform\android\java\src\src\org\cocos2dx\lib\GlobalObject.java 到对应引擎目录
  7. 结束. 重新编译android工程即可.
  8. 在脚本代码中正常 new WebSocket(a,b) 即可正常连接上wss://xxxx的服务器地址.

获取地址

https://github.com/soidaken/flashfin-okhttp-android-ccs24x

2赞

:rofl: 直接弄个证书 多方便

那谈到方便,不需要证书不是更方便…:yum:

那肯定 所以3.x已经不用了

兄弟,5,6的路径错了,然后你这里还少了一步GlobalObject在Cocos2dxActivity的初始化和释放

1赞

诶. 是吗? 没印象了, 你解决了就好.