求目前版本(1.52, 1.6) 使用socket.io的正確姿勢(文檔,教學,範例都不同)

首先依據文檔
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

因为 socket.io 在原生平台内置了,但是网页平台没有,所以需要拉源码。没有 cc.sys.isNative 的判断是因为这个脚本导入为了插件,并且设置成了原生平台不加载。

是的

需要,其实使用 example 中的那一份代码就行,记得设置成插件

参考 example,去掉原生平台加载选项,就不需要这个判断了

是的

没有 js,用的是网友提供的一个C++版本,具体什么版本我们也不太清楚。我们会尽快升级这一部分的实现。

不太清楚,我们用的是 lite 版本,不是原始的 -x

1赞

幫助很大 多謝協助!

看到這個卡 1.7別害燥快出來吧
https://trello.com/c/gUD5pzJZ