表达 4 + Socket.io = 404

Express 4 + Socket.io = 404

几个小时以来,我一直在努力让 socket.io 使用 express 4。 我开始学习 this 教程,这给了我一个工作休息 api。

为了让 socket.io 工作,我使用了命令

npm install socket.io

这将 socket.io 添加到我的 node_modules 目录。在此之后,我编辑了我的 app.js 以包含以下代码:

//LINE above var app = espress();
var http    =     require('http').Server(app);
var io      =     require("socket.io")(http);
io.on('connection',function(socket){  
    console.log("A user is connected");
});
// my routes etc

在我的 (jade) 视图中,我添加了以下代码:

script(src="https://cdn.socket.io/socket.io-1.2.0.js")
script.
    var socket = io('http://localhost/');

现在,当我 运行 使用 npm start 时,我的浏览器和 npm 控制台出现以下错误:

http://localhost:3000/socket.io/?EIO=3&transport=polling&t=1427056664743-51 404 (not found)

据我所知,在相关问题的几乎每个答案中,我都没有使用 express-generator,我做错了什么?

my complete app.js

我试过 this : 但结果是端口 3000 已被使用时出错。

解决了感谢回答here

var app = express();
var http = require( "http" ).createServer( app );
var io = require( "socket.io" )( http );
http.listen(8080, "127.0.0.1");


io.on('connection',function(socket){  
    console.log("A user is connected");
});

在客户端:

script(src='/javascripts/socket.io-1.2.0.js')
script.
    var socket = io.connect( "http://localhost:8080");

更改端口成功了(8080 而不是 3000)