Search code examples
javascriptnode.jssocketswebsocketnodejs-server

cannot en queue handshake after already en queuing a handshake In socket IO?


cannot enqueue handshake after already enqueuing a handshake error found. Please solve my problem]. in SQL connection in Nodejs.

Here is my code :

 io.on('connection', function(socket) {
        con.connect(function(err) {
            socket.on('get_user_connect', function(data) {
                var sql = "select * from user";

                con.query(sql, function(err, result) {

                    if (err) {
                    console.log(err);
                    return;
                    }
                    io.sockets.emit('user_data', result);

                });
            });
        });
    });

  server.listen(8000, function() {
    console.log('listening on localhost:8000');
  });

Solution

  • You have SQL connection every time when Socket connect to server is. you have put SQL connect on Top and try it.

    con.connect(function(err) {
        if (err) {
            console.log('Error connecting to Db' + err.stack);
            return;
        }
       // console.log('Connection established');
    });
    
    io.on('connection', function(socket) {
    
        socket.on('get_user_connect', function(data) {
            var sql = "select * from user";
    
            con.query(sql, function(err, result) {
    
                if (err) {
                console.log(err);
                return;
                }
                io.sockets.emit('user_data', result);
    
            });
        }); 
    });