在Web和iOS包中,可以直接使用wss连接this.wss = new WebSocket("wss://xxx");
。但是,一到Android包里就连接失败了。这是因为android中需要一个证书。也不知道这是个啥子证书,用自己网站域名对应的ssl证书是不行,但从curl官网下的最新版证书就可以。
if (cc.sys.isNative && cc.sys.os == cc.sys.OS_ANDROID) {
// android平台需要加载证书
// resources/Files/cacert.pem为从curl官网下载的最新的证书
var cacert = cc.url.raw('resources/Files/cacert.pem');
if (cc.loader.md5Pipe) {
cacert = cc.loader.md5Pipe.transformURL(cacert)
}
this.wss = new WebSocket(url, null, cacert)
} else {
//其他平台直接使用
this.wss = new WebSocket(url);
}
如果官网打不开可以下载这个 cacert