Я бы посоветовал всё таки использовать socket.io он может не только websocket, но и GET и POST для клинтов, которые не могут websocket.
В вашем варианте плохо то, что надо два порта и я так понимаю их будет четыре если ещё добавить https.
Вот пример с socket.io
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
var mkdirp = require('mkdirp');
var appPort = process.env.APPPORT || "5000"
app.set('views', __dirname + '/app/views')
app.set('view engine', 'pug')
app.use(express.static(__dirname + '/public'))
server.listen(appPort, function () {
console.log('Server listening at port %d', appPort);
});
//App components
var routes = require('./app/routes');
app.use('/', routes);
io.attach(server);
var socket = require('./app/socket');
socket.start(io);
В папке app/socket лежит остальное, подробней можно посмотреть
тут