socket onSocketOpen 不触发回调
发布于 5 年前 作者 min08 10244 次浏览 来自 问答

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)
}
9 回复

IOS才有问题,android没有问题

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

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

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

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

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

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

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执行不了。

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

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

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

这是什么情况…

回到顶部