Из вашего кода вы пытаетесь привязать модуль сокета к порту 3000:
var io = require('socket.io')(3000);
/* ... */
app.listen(3000);
таким образом, когда сервер пытается привязать себя, порт уже in use
.
Вы должны создать HTTP-сервер и затем привязать к нему модуль socket.io:
const app = require('express')();
const server = require('http').createServer(app);
const io = require('socket.io')(server);
io.on('connection', () => { /* … */ });
server.listen(3000);
(взято из документации по socket.io)