Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Servidor

Antes estavamos com servidor utilizando o express :

app = express()

app.listen(port, ()=> console.log('servidor rodando'))

E depois foi alterado app.listen para a utilização do modulo HTTP :

http.listen(port, ()=> console.log('servidor rodando'))

Qual é a diferença entres esses 2 "servidores" ?

2 respostas
solução!

Oi, Leonardo! Tudo bem?

A diferença entre usar app.listen e http.listen está relacionada com a integração do Socket.IO no nosso servidor.

Quando usamos app.listen(port, callback), estamos criando um servidor HTTP diretamente com o Express, o que é suficiente para aplicações web tradicionais, onde só precisamos lidar com requisições HTTP.

No entanto, quando precisamos integrar o Socket.IO para habilitar comunicações em tempo real via WebSockets, é necessário um pouco mais de flexibilidade, pois o Socket.IO precisa acessar o servidor HTTP diretamente para manipular as conexões WebSocket. Para isso, criamos o servidor HTTP manualmente usando o módulo http do Node.js e passamos o aplicativo Express como um parâmetro.

Essa abordagem permite que o Socket.IO se conecte ao servidor HTTP e gerencie as conexões WebSocket.

Podemos concluir, então, que a principal diferença é que app.listen é uma maneira simplificada de iniciar um servidor HTTP com Express, enquanto http.createServer(app).listen é necessário quando precisamos de um controle mais granular sobre o servidor HTTP, como ao integrar o Socket.IO para comunicações em tempo real.

Espero ter ajudado!

Um forte abraço e bons estudos!

Perfeito ! Muito obrigado