CocosCreator中WebSocket使用WSS协议

平常我们使用WebSocket协议是这样的:

 var ws = new WebSocket("ws://echo.websocket.org");
 ws.onopen = function (event) {
     console.log("Send Text WS was opened.");
 };
 ws.onmessage = function (event) {
     console.log("response text msg: " + event.data);
 };
 ws.onerror = function (event) {
     console.log("Send Text fired an error");
 };
 ws.onclose = function (event) {
     console.log("WebSocket instance closed.");
 };

一个简洁有力的示例。

但是,有些地方可能会被强制要求把ws协议改成wss协议,如:需要发布到微信小游戏平台的时候。

即需要把服务器的地址:

ws://echo.websocket.org

修改为:

wss://echo.websocket.org

如果像这样,只是简单直接的修改url,是可以在网页端调用成功的。

但是在原生端(iOS或Android),仅仅把ws修改成wss是会报错的。

 

这时,我们需要找服务器的同学拿一个证书文件过来,类似于***.cer的文件,然后我们再把文件放在resources文件夹下。

再把代码修改成:

 var ws = new WebSocket("wss://echo.websocket.org", "test", cc.url.raw("resources/***.cer"));
 ws.onopen = function (event) {
     console.log("Send Text WS was opened.");
 };
 ws.onmessage = function (event) {
     console.log("response text msg: " + event.data);
 };
 ws.onerror = function (event) {
     console.log("Send Text fired an error");
 };
 ws.onclose = function (event) {
     console.log("WebSocket instance closed.");
 };

其中第二个参数"test",是可以自定义的参数,一般可以设置自己的项目名;

第三个参数才是我们要加载的证书的路径。

你可能感兴趣的:(CocosCreator,javascript,CocosCreator,WebSocket,wss,证书,certificate)