2012-04-20 91 views
2

对于这个愚蠢的问题感到抱歉,我确定它是一个noob错误。我正在关注如何使用套接字io:http://socket.io/#how-to-use并继续有问题;socket.io不断404?

我有一个节点应用(运行版本3.0的α明示的),并有以下内容:

app = express() 

io = require('socket.io').listen app 

我已编辑layout.jade和添加:

script(src="/socket.io/socket.io.js") 

我也运行npm install socket.io并确认它在服务器上正常启动。

如果我浏览到的任何网页,控制台不断出现:

GET http://localhost:3000/socket.io/socket.io.js 404 (Not Found)

其他人遇到这个问题?

+0

可能重复的[nodejs socket.io无法连接到服务器?](http://stackoverflow.com/questions/10198602/nodejs-socket-io-cannot-connect-to-server) – 2012-04-20 11:53:43

回答

4

这里是一步一步的指示我只是测试他们

express socket 
cd socket 
npm install 
npm install socket.io 

添加在app.js

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

运行

node app 

在控制台下你应该看到

info - socket.io started 

在浏览器中去

http://localhost:3000/socket.io/socket.io.js

你应该看到原始的JavaScript

编辑:

我也有与3.0alpha1问题。看起来像一个错误。这是一个丑陋的工作

var fs = require('fs'); 
app.get('/socket.io/socket.io.js', function(req, res) { 
    fs.readFile('/PROJECT_HOME/node_modules/socket.io/lib/socket.io.js', function(error, content) { 
     if (error) { 
      res.writeHead(500); 
      res.end(); 
     } 
     else { 
      res.writeHead(200, { 'Content-Type': 'text/javascript' }); 
      res.end(content, 'utf-8'); 
     } 
    }); 
}); 
+0

您可以确认你正在运行的快递版本是3.0 alpha? – Menztrual 2012-04-20 08:58:38

+0

我现在也遇到同样的问题,请参阅编辑 – deltanovember 2012-04-20 09:32:34

+0

美丽的黑客;)谢谢:) – Menztrual 2012-04-20 09:46:46

0

你是否从app.js运行layout.jade?

app.get('/',function(req,res){ 
    res.sendfile('index.html'); 
}); 

这需要纳入假设你的模板中的app.js是index.html文件。

+0

是的,他的模板工作正常。 – Menztrual 2012-04-20 09:10:05