CocosCreator Android包使用wss

在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

0%