收藏
回答

socket onSocketOpen 不触发回调

API/组件名称 终端类型 微信版本 基础库版本
wx.onSocketOpen 客户端 6.6.1 1.9.1


socket在开发者工具正常使用 在真机上无法触发 wx.onSocketOpen

服务器地址是wss的


wx.connectSocket({
    url: url,
    method: 'GET',
    success: function (res) {
        console.log('连接成功' + res)
        console.log(JSON.stringify(res))
    },
    fail: function (res) {
        console.log('连接失败' + res)
  }
})
   
wx.onSocketOpen(function (res) {
    console.log('WebSocket连接已打开!')
})
wx.onSocketError(function (res) {
    console.log('WebSocket连接打开失败,请检查!')
})
   
wx.onSocketMessage(function (res) {
    console.log('收到服务器内容:' + res.data)
}


最后一次编辑于  2018-01-20
回答关注问题邀请回答
收藏

10 个回答

  • 小程序/小游戏开发-Link
    小程序/小游戏开发-Link
    2018-01-23

    @Tiger 可以监听 onError 事件看看错误信息

    2018-01-23
    有用
    回复
  • 小程序/小游戏开发-Link
    小程序/小游戏开发-Link
    2018-01-23

    connectSocket 的回调成功不代表连接成功,仅表示连接请求已经发出。

    2018-01-23
    有用
    回复
  • 小程序/小游戏开发-Link
    小程序/小游戏开发-Link
    2018-01-22

    Error 的时候,会有 errMsg ,可以打出来看看。


    另外麻烦确认下,下面这个截图是在什么版本中看到的。


    2018-01-22
    有用
    回复
  • ......
    ......
    2022-04-06

    看大佬们写案例真好 虽然我看不懂

    2022-04-06
    有用
    回复
  • Tiger
    Tiger
    2018-01-23

    解决问题了,升级到TLS1.2可以了,
    但是问题又来了,低版本的android链接又链接不上了。

    andoird7没有问题,7一下好像都链接不上

    2018-01-23
    有用
    回复
  • Tiger
    Tiger
    2018-01-23



    IOS才有问题,android没有问题

    2018-01-23
    有用
    回复
  • Tiger
    Tiger
    2018-01-23

    wx.connectSocket({

         url: app.globalData.net_wss,

         data: {},

         method: 'GET',

         success: function (res) {

           console.log("connectSocket 成功");


         },

         fail: function (res) {

           console.log("connectSocket 失败")

         }

       });

     

       wx.onSocketOpen(function (res) {

         console.log("socket打开");

         wx.sendSocketMessage({

           success: function (res) {

           },

           fail: function (res) {

           }

         });

         wx.onSocketMessage(function (data) {

           console.log(data);

           

         }),

           wx.onSocketClose(function (data) {

             console.log('已经退出成功');

           })

       })  



    我这段代码android链接成功,运行没有任何问题


    ios不成功,  console.log("connectSocket 成功")可以,但wx.onSocketOpen执行不了。


    2018-01-23
    有用
    回复 2
    • 🍃
      🍃
      2019-11-14
      问题解决了吗?我这边IOS 一直不执行onSocketOpen
      2019-11-14
      回复
    • Aimee~Z
      Aimee~Z
      2020-01-02
      俺也遇到这个问题了 ,就是调不起来wx.onSocketOpen方法
      2020-01-02
      回复
  • _(:з」∠)_
    _(:з」∠)_
    2018-01-23


    就连接成功之后就不触发 onSocketOpen 1分钟后就超时了 微信版本 6.6.1

    2018-01-23
    有用
    回复
  • Tiger
    Tiger
    2018-01-22

    和我的情况一样啊,andoird运行没有问题


    ios,websocket有问题版本和我一样


    2018-01-22
    有用
    回复
  • _(:з」∠)_
    _(:з」∠)_
    2018-01-20

    这是什么情况...

    2018-01-20
    有用
    回复
登录 后发表内容