首先依據文檔
http://www.cocos.com/docs/creator/scripting/network.html
使用socket.io需要自行拉入原始碼
並在自行拉入的socket.io腳本及組件腳本中加入cc.sys.isNative判斷,避免在native執行
再來是這篇
http://forum.cocos.com/t/cocoscreator-socketio-1-0/35538
裡面提到後來的版本不需要自已拉socket.io.js的原始碼到creator中了,也不需要做cc.sys.isNative判斷的樣子
接下來是creator1.5.2範例裡的裡仍然是有拉socket.io.js原始碼,但卻沒有做cc.sys.isNative判斷,
simulator和build window仍然可以執行,所以概念稍微模糊,這裡有什麼改變嗎?
以上 官方文件, 版友教學, 目前官方範例 呈現各自相抵觸的姿勢@@
目前使用的是自已拉進creator的socket.io 1.4.8,因為試了一下1.4.8好像是最後一個可以單一個檔案拉進creator的socket.io.js
然後在build window版時遇到一點錯誤訊息, 所以想求一下正確姿勢,我想讓server用和client相同的socket.io版本.
另外關於socket.io及js和windows native binding的概念問題, 根據文檔
http://www.cocos.com/docs/creator/scripting/network.html
說明socket.io在native平台使用的是cocos2dx裡自帶的socket.io c++版本實作,(如果是C++實作,那有對應的js版本號嗎?)
也就是在window native中完全不會呼叫到拉入cocoscreator裡的socket.io.js原始碼嗎?
(不過這裡也有點疑惑, 因為cocos2dx 3.14.1解壓後裡面是帶有socket.io.js檔案的)
幾個重點問題:
1.目前版本(我是用cocoscreator 1.5.2),需要拉socket.io原始碼嗎?
2.需要做cc.sys.isNative判斷嗎
3.在build window使用socket.io呼叫的是和js原始碼無關的C++實作版嗎?
如果是,有實作的對應js版本號嗎?(想讓server使用相同的版本)
如果否,使用的是哪個版本@@?
ps.
cocos2d-x 3.14.1解壓後的socket.io.js是1.4.5版(但是既然是用C++實作,這個檔是做什麼用的@@?)
creator 1.5.2 的socket.io 範例是用1.3.7版
目前socket.io最新版本是2.0