Socket IO reconnect?

javascript, node.js, socket.io

Solution

Well, you have an option here ...

The first time you initialize the socket value you should connect with `io.connect`,

The next time ( after you've called disconnect once ), you should connect back with `socket.socket.connect()`.

So your `initSocket`, should be something like

function initSocket(__bool){                    
    if(__bool){          
        if ( !socket ) {   
            socket = io.connect('http://xxx.xxx.xxx.xxx:8081', {secure:false});     
            socket.on('connect', function(){console.log('connected')});                                 
            socket.on('disconnect', function (){console.log('disconnected')});
        } else {
            socket.socket.connect(); // Yep, socket.socket ( 2 times )
        }
    }else{
        socket.disconnect();
        // socket = null; <<< We don't need this anymore
    }
} 

Problem

How to reconnect to socket io once `disconnect` has been called? Here's the code ``` function initSocket(__bool){ if(__bool == true){ socket = io.connect('http://xxx.xxx.xxx.xxx:8081', {secure:false}); socket.on('connect', function(){console.log('connected')}); socket.on('disconnect', function (){console.log('disconnected')}); }else{ socket.disconnect(); socket = null; } } ``` If I do `initSocket(true)`, it works. If I do `initSocket(false)`, it disconnects. BUT THEN if I try to reconnect using `initSocket(true)`, the connection does not work anymore. How can I get the connection to work?

Original source

Related problems