nwjs中socket.io-client断开后无法重新连接

YHeng
  • 10

使用socket.io开发一个聊天工具,用的nw.js做的。在程序最初启动的时候,socket连接正常,但是只要socket只要断开(无论是服务器端还是客户端发起的断开命令)就无法重连。加上forceNew参数也无效。

const ws = require('./socket.io');

let ws_reconnection;
let wss = global.ws || '';
module.exports = new class{
    start(){
        if(!wss) wss = ws(ws_host,{forceNew:true});
        if(!wss.connected) wss.connect();
        wss.on('disconnect', ()=>{
            if(!ws_reconnection){
                let timer = setInterval(()=>{
                    if(wss.connected){
                        clearInterval(timer);
                        ws_reconnection = false;
                        s.set('online', true, false);
                    }else{
                        wss.connect();
                    }
                }, 100);
            }
        });
        return wss;
    }
};

clipboard.png

回复
阅读 3.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏