几个小时以来,我一直在尝试让socket.io与Express4一起工作。我开始关注this教程,它给了我一个可以工作的rest 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)据我所知,我没有像几乎每个相关问题的答案中建议的那样使用快速生成器,我做错了什么?
my complete app.js
我尝试过this:但结果是端口3000已在使用中时出现错误。
发布于 2015-03-23 05:24:32
多亏了答案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)
https://stackoverflow.com/questions/29199593
复制相似问题