收藏
回答

creator开发的带服务器的小游戏需要ssl?

游戏客户端 this.ws=new WebSocket(url,protocols);

protocols为null的时候, 微信开发工具模拟登陆游戏服成功.

可是在真机上连接并且登录成功, 但是发消息到服务器时,服务器没有收到消息. 于是加了 protocols

let pemUrl = cc.url.raw("resources/文件名字.pem");

this.ws=new WebSocket(url,pemUrl );

结果又提示

回答关注问题邀请回答
收藏

2 个回答

  • 张坤林
    张坤林
    2021-04-12

    似乎微信开发工具的模拟器是以iphone的方式访问服务器的,(没有使用pem文件)成功

    服务器记录如下

    218.85.143.170 - - [12/Apr/2021:20:13:29 +0800] "GET / HTTP/1.1" 101 1509 "https://servicewechat.com/wxab03a011ecdba583/devtools/page-frame.html" "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1 wechatdevtools/1.05.2102010 MicroMessenger/7.0.4 Language/zh_CN webview/20000 gameservice port/53312 token/a5a17bf75594c9768c3c48ac93c15613"

    真机测试是安卓的,(没有使用pem文件)失败

    59.57.152.104 - - [12/Apr/2021:20:15:08 +0800] "GET / HTTP/1.1" 101 0 "https://servicewechat.com/wxab03a011ecdba583/0/page-frame.html" "Mozilla/5.0 (Linux; Android 10; HMA-AL00 Build/HUAWEIHMA-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.62 XWEB/2777 MMWEBSDK/20210302 Mobile Safari/537.36 MMWEBID/8618 MicroMessenger/8.0.2.1860(0x2800023B) Process/appbrand1 WeChat/arm64 Weixin NetType/WIFI Language/zh_CN

    这有什么区别吗?

    2021-04-12
    有用
    回复 2
    • Forever
      Forever
      2021-04-13
      真机上有打开调试模式吗?
      2021-04-13
      回复
    • 张坤林
      张坤林
      2021-04-13回复Forever
      问题已经找到了,websocket发送消息参数不能是Uint8Array而是要ArrayBuffer,这个在模拟器上和真机不一致,而且真机调试时,在窗口端并未输出错误, 只有在手机上打开调试才看到了错误.
      2021-04-13
      回复
  • Forever
    Forever
    2021-04-12

    需要配置安全域名,而且带pem后缀的文件的确不在我们的白名单里面 https://developers.weixin.qq.com/minigame/dev/guide/framework/code-package.html#%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B

    2021-04-12
    有用
    回复
登录 后发表内容
问题标签