几个小时以来,我一直在尝试让socket.io与express 4配合使用。我开始按照这个教程进行操作:http://cwbuecheler.com/web/tutorials/2014/restful-web-app-node-express-mongodb/,并成功创建了rest api。
为了让socket.io正常工作,我使用了以下命令:
这将socket.io添加到我的node_modules目录中。之后,我编辑了我的app.js文件,加入了以下代码:
在我的(jade)视图中,我添加了以下代码:
据我所知,与相关问题中几乎每个答案建议使用express-generator不同,我没有使用它,我做错了什么? 这是我的完整app.js 我尝试过这个方法,但结果是一个端口3000已被占用的错误。
为了让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不同,我没有使用它,我做错了什么? 这是我的完整app.js 我尝试过这个方法,但结果是一个端口3000已被占用的错误。
require('http').createServer(handler)
。 - Matt Harrisonhttp://localhost:3000/socket.io/socket.io.js
。参考文献请见这里。 - majidarif