Vue-Socket.io客户端连接时不定时发生因transport close导致的disconnect

Vue-Socket.io客户端连接时不定时发生因transport close导致的disconnect

问题描述:

Vue-Socket.io客户端连接时不定时发生因transport close导致的disconnect,之后会自己自动connect,但并没有写reconnect方法。本地连接并不会出现,只有部署到环境上才会出现。

Vue.use(new VueSocketIO({
  debug: true,
  connection: Host + 'mmWS',
  vuex: {
    store,
    actionPrefix: 'SOCKET_',
    mutationPrefix: 'SOCKET_'
  },
}));
sockets: {
      connect() {
        console.log('socket connected');
      },
      disconnect() {
        console.log('socket disconnected');
      },
      status(data) {
        this.setClientInfos(data.client_infos);
        console.log('链接信息: ' + data.connection)
      },
}

debug信息:
Vue-Socket.io: Broadcasting: #disconnect, Data: transport close
socket disconnected
Vue-Socket.io: Broadcasting: #connect, Data:
socket connected
版本信息:
socket.io:v2.0.3
vue-socket.io:v3.0.10
后端 Flask-SocketIO:v4.3.1
发生这种disconnect的时候,后端的disconnect方法也没有被触发

@socketio.on('connect', namespace='/mmWS')
def do_connect():
    Logging().info('我建立了一个sockit链接')

@socketio.on('disconnect', namespace='/mmWS')
def do_disconnect():
    Logging().info('我断开了一个sockit链接')
    current_sid = request.sid
    disconnect(sid=current_sid)
    socketsClientMapper.delete(current_sid)

这是什么原因导致的呢,该怎么解决disconnect的问题呢,后端的方法能被触发吗

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


​​因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。