Pessoal,  estou tentando rodar o websocket mas o alert não está aparecendo na página. Verifiquei via console que a mensagem está sendo enviada pelo método app.get('io').emit("novaPromocao",promocao); dentro de promocao.js e também verifiquei que o websocket está funcionando no client para index.ejs
Também fui ao docs do socket.io verifiquei que a recomendação de uso é a mesma que estou usando e só não entendo porque o alert não está aparecendo.
Segue o meu código:
index.ejs
<script src="/socket.io/socket.io.js"></script>
<script>
    var socket = io();
    socket.on('novaPromocao', function(data) {
        alert("Livro em promoção " + data.livro.id);
    });
</script>promocoes.js
    app.post("/promocoes", function(req,res) {
        var promocao = req.body;
        app.get('io').emit("novaPromocao",promocao);
        console.log(promocao);    
        res.redirect("/promocoes/form");
    });app.js
var app = require('./config/express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.set('io', io);
http.listen(3000, function() {
    console.log("servidor rodando");
})Obrigado :-)
 
            