Q:

Socket.io will not accept connection

Working on socket.io for the first time and trying to get it up and going, I can make the request and I have the server up and going, here is the server in node. 
const app = require('express')();
const http = require('http').createServer(app);
const io = require('socket.io')(http);

app.get("/",function (req,res){
  res.send("Hello you socket loving bastard!");
});

io.on('connection', socket => {
  console.log('user connection', socket);
  io.emit('You got someone!', {user: "me"});
});

io.on('close', socket => {
  console.log(socket);
});

http.listen(9090, () => {
  console.log("Node starting on 9090 for websockets!")

});

Using vue-native-websocket I have this ...
Vue.use(Socket, 'ws://localhost:9090/', {
  reconnection: true,
  reconnectionAttempts: 5,
  reconnectionDelay: 1500
});

The console in the browser says: 
build.js?b408:1 WebSocket connection to 'ws://localhost:9090/' failed: Connection closed before receiving a handshake response
The server says nothing in the console at all, however, it will serve the get request

A:

Well... the issue is that I'm using vue-native-websocket Socket.io is NOT a native websocket handler and adds extra header information which was lacking apparently. I switches to just using ws in node and it works fine. 
From the Socket.io docs. 
Socket.IO is NOT a WebSocket implementation. Although Socket.IO indeed uses WebSocket as a transport when possible, it adds some metadata to each packet: the packet type, the namespace and the packet id when a message acknowledgement is needed. That is why a WebSocket client will not be able to successfully connect to a Socket.IO server, and a Socket.IO client will not be able to connect to a WebSocket server either.

