收藏
回答

用户环境(iphone8)无法建立wss socket连接?

提示是wsssocket数量超限:fail wcwss exceed max concurrent count

机型iphone8, 微信版本7.0.5,

代码片段还不清楚怎么弄。

目前就是遇到onSocketError时会关闭socket,然后执行重新连接

wx.onSocketError((res) => {

console.log('WebSocket连接打开失败', res)

util.setInitStepTrue(1)

util.hideLoading()

this.wsDisconnect()

this.reconnect()

})

wx.onSocketClose((res) => {

console.log('WebSocket 已关闭!', res)

util.setInitStepTrue(1)

util.hideLoading()

this.reconnect()

})

wx.onSocketOpen((res) => {

console.log('WebSocket连接打开', res)

util.setInitStepTrue(1)

util.hideLoading()

clearInterval(this.reconnectTimer)

this.reconnectTimer = 0

this.heartCheck.reset().start()

})


reconnect() {

if (this.reconnectTimer > 0) {

console.log("上次reconnect定时器还在进行")

return;

}

clearInterval(this.reconnectTimer)

this.reconnectTimer = 0

this.reconnectTimer = setInterval(() => {

console.log("do reconnect")

this.wsConn()

}, 1000);

},


wsConn() {

let _this = this

util.costTimeStart();

return new Promise((resolve,reject) =>{

if (_this.wssSocketTask) {

_this.wssSocketTask.close({

complete: res => {

console.log("旧连接关闭结果", res)

_this.wssSocketTask = wx.connectSocket({

url: getApp().globalData.wsUrl,

header: {

'cookie': 'token=' + getApp().globalData.token

},

success(res) {

util.costTimeEnd("WebSocket连接成功耗时")

console.log("wx.connectSocket res", res)

resolve(0);

},

})

console.log("新连接", _this.wssSocketTask)

}

})

} else {

_this.wssSocketTask = wx.connectSocket({

url: getApp().globalData.wsUrl,

header: {

'cookie': 'token=' + getApp().globalData.token

},

success(res) {

util.costTimeEnd("WebSocket连接成功耗时")

console.log("wx.connectSocket res", res)

resolve(0);

},

})

console.log("新连接", _this.wssSocketTask)

}

})

},


wsDisconnect(){

return new Promise((resolve, reject) => {

wx.closeSocket({

reason: "Close before reconnect",

complete: res => {

console.log("Close before reconnect, 结果是", res)

resolve(0)

}

})

})

},


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

2 个回答

  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    2019-08-07

    代码片段参考https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2019-08-07
    赞同
    回复 10
    • 袁秋兴
      袁秋兴
      2019-08-07
      你好,是我这段代码难以理解吗,log和code都贴上来了。其实我想要一个较为快速的反馈和debug。希望能先基于已有的code和log先帮我看看。代码片段我需要看看怎么搞。
      2019-08-07
      回复
    • 袁秋兴
      袁秋兴
      2019-08-07
      其实还有是因为代码耦合过分,不太好放到片段中。另外也不太想公开,可以直接私下给官方。appid是 wx4e06e22f27bb42d2
      2019-08-07
      回复
    • 袁秋兴
      袁秋兴
      2019-08-07
      https://developers.weixin.qq.com/s/W263KsmY7jaP
      2019-08-07
      回复
    • 社区技术运营专员-娇华
      社区技术运营专员-娇华
      2019-08-08回复袁秋兴

      是只有这台设备有问题么?代码片段无法正常使用,请重新提供下

      2019-08-08
      回复
    • 袁秋兴
      袁秋兴
      2019-08-08回复社区技术运营专员-娇华
      实际上不想暴露我们的服务器信息,请问能否先以目前的信息先行debug
      2019-08-08
      回复
    查看更多(5)
  • 袁秋兴
    袁秋兴
    2019-08-06




    2019-08-06
    赞同
    回复
登录 后发表内容
问题标签