cocos 依賴的三方庫涉及到 IPV6 問題的庫為 curl
, websocket
, cocos 自己提供的模塊需要適配的有:
- HttpClient
- AssetsManagerEx
- SocketIO
- WebSocket
- Console
- ScriptingCore
如果你需要支持純IPv6網絡,只需要更新CURL和libwebsocket網絡。
1. 下載 cocos2d-x-3rd-party-libs-bin
2. 更新 curl
拷貝解壓出來的文件夾中的 curl
目錄到cocos2d-x/external
, 替換原來的 curl
目錄. 如果編譯報錯,則:
在 XCode 項目輸找到 cocos2d_lib > external > curl > ios
目錄上右鍵, 選擇 Add Files to 'cocos2d_lib.xcodeproj'
:
選中 libcrypto.a
和 libssl.a
, targets 選擇 libcocos2d iOS
, 確定, 重新編譯, 搞定.
3. 更新 websocket
和 curl 類似, 拷貝 cocos2d-x-3rd-party-libs 中的 websockets
目錄到 cocos2d-x/external
, 替換原來的 websockets
目錄.
因為最新版的 websockets api 變化挺大, 所以我們需要使用 cocos 最新的WebSocket.h 和 WebSocket.cpp 替換 cocos2d-x/cocos/network 中的 WebSocket
.
編譯, 會有一處錯誤發生在 WebSocket::WebSocket()
中, 是和 Director::EVENT_RESET
相關的消息, 我們注釋掉這段代碼即可.
{ |