socket.io.js não encontrado

Por alguma razão, meu servidor de nó não pode atender a rota /socket.io/socket.io.js , sempre recebo um erro 404.
Eu tentei compilar diferentes versões de nós (a corrente é 0.6.13, que também roda no servidor, onde ela realmente funciona ).
Do app.js eu recebo info: socket.io started e nenhum erro ao tentar chamar o socket.io.js.

Eu tentei de localhost e porta 8000 e eu uso o quadro expresso

Este é o código do app.js:

 var express = require('express') , app = require('express').createServer() , io = require('socket.io').listen(app, { log: true }); app.listen(8000); app.configure(function() { app.use(express.static(__dirname + '/public')); app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); }); io.sockets.on('connection', function (socket) { // all other stuff here 

Por favor, verifique sua versão Express. Express recentemente é atualizado para 3.0alpha que API foi alterada. Se 3.0 você pode mudar seu código para algo assim:

 var express = require('express') , http = require('http'); var app = express(); var server = http.createServer(app); var io = require('socket.io').listen(server); ... server.listen(8000); 

Mesmo problema com a conexão: https://github.com/senchalabs/connect/issues/500#issuecomment-4620773

Usando com o framework web Express 3 : ( from socket.io )

> Express 3 requer que você instancie um http.Server para append o socket.io ao primeiro:

significado – (1) você deve criar uma instância do servidor:

 var app = express(); var http = require('http').createServer(app); 

(2) acople-o com o socket.io:

 var io = require('socket.io'); io.listen(http); 

e SOMENTE ENTÃO – (3) faça o servidor escutar:

 http.listen(8080); 

Certifique-se de manter este pedido!

Depois de instalar o nó 0.8.1, tive o mesmo problema. Acabei de excluir o mapa node_modules na pasta do meu projeto e reinstalei o express / socket.io. Depois disso, funcionou bem novamente com o código da sua pergunta.

Talvez isso possa ajudá-lo, no meu Ubuntu 11.10 Eu não configurei corretamente a variável NODE_PATH , Se você estiver no linux / mac tente adicionar linha abaixo ao seu arquivo .bashrc / .zshrc.

 export NODE_PATH=/usr/lib/node_modules:$NODE_PATH 

Instale o Socket.io dentro do seu repository:

 npm install socket.io --save 

Depois, configure o servidor:

  var express = require('express') var app = express(); var server = require('http').createServer(app); var io = require('socket.io').listen(server); server.listen(app.get('80')); // not 'app.listen' 

E dentro do seu arquivo HTML/EJS ou outro que você queira, adicione:

  

Verifique se funciona com o Console (Chrome / Mozilla, etc).

No meu exemplo, uso o Chrome (Ctrl + shift + I):

insira a descrição da imagem aqui