2012-04-20 93 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