收藏
回答

websocket握手signalr失败

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug wx.sendSocketMessage 客户端 6.6.9 2.0.9



WebSocket连接SignalR服务器,IDE连接握手成功,能正常返回提示消息(这里是因为没有登录信息所以服务器返回用户未登录然后关闭了连接) IDE调试可以看到是服务器有正常返回结果
手机上运行就能看到握手失败

通过查看服务器的日志能够看到IDE和真机请求的url略微有点不同 IDE请求的时候没有指明443端口此时协议握手正常。 手机请求url指明443端口
此时请求握手失败,20s后连接断开

最后一次编辑于  2018-06-08  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

4 个回答

  • Taro
    Taro
    2018-10-15

    楼主解决了吗,我也同样遇到这个问题,折腾好久了,一直握手失败

    2018-10-15
    赞同
    回复 3
    • Turing
      Turing
      2018-10-16

      是小程序代码里发送代码写错了 正确的应该是

      wx.sendSocketMessage({
          data: msg,
        });

      但是被我写成了

      wx.sendSocketMessage({
          data: [msg],
        });


      2018-10-16
      赞同
      回复
    • Turing
      Turing
      2018-10-16回复Turing
      function wsSend(msg){
        console.log('send:'+msg);
         
        msg += String.fromCharCode(0x1e);
        wx.sendSocketMessage({
          data: msg,
        });
      }

      这是完整的发送代码

      2018-10-16
      赞同
      回复
    • Taro
      Taro
      2018-10-17回复Turing

      我不是这样的问题,我是在认证的时候url里面多了一个空格 然后被转移成 %20 结果一直不通过。。。。

      2018-10-17
      赞同
      回复