Socket.IO em subdomínios com o Express.js vhost

Eu tenho dois aplicativos Express.js em execução no meu servidor.

Um aplicativo simples chamado "main-app" e outro que usa Socket.IO chamado "socket-app".

Eu tenho "main-app" rodando em "mydomain.com" e "socket-app" rodando em um subdomínio em "socket.mydomain.com"

Estou encaminhando solicitações para o aplicativo de soquete através do middleware vhost embutido do Express.

- dentro do main-app.js -

var express = require('express');
var app = module.exports = express.createServer();
app.use(express.vhost('socket.mydomain', require('./socket-app/app.js')));

app.listen(8080, function(){
  console.log("Express server listening on port %d in %s mode");
});

Isso funciona bem e posso ver meu aplicativo de soquete sendo executado na porta 8080 no socket.mydomain

No entanto, parece haver um problema com o tempo limite de websockets e o recebimento do evento "upgrade" ao executar um aplicativo Socket.IO por meio do vhost, conforme discutido anteriormente.Aqui.

Então, minha pergunta é: como canalizar esse evento "upgrade" do meu aplicativo principal para o meu aplicativo de soquete para que todos os soquetes conectados possam ouvir quando alguém se conecta e desconecta?

Eu tentei emitir o evento "upgrade" de dentro de "main-app", mas não parece estar funcionando.

app.on('upgrade', function(req, socket) {
    socket.emit('upgrade', app);    
});

O que estou perdendo aqui?

questionAnswers(1)

yourAnswerToTheQuestion