首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Express 4+ Socket.io = 404

Express 4+ Socket.io = 404
EN

Stack Overflow用户
提问于 2015-03-23 04:41:11
回答 1查看 20.9K关注 0票数 3

几个小时以来,我一直在尝试让socket.io与Express4一起工作。我开始关注this教程,它给了我一个可以工作的rest api。

为了让socket.io正常工作,我使用了以下命令

代码语言:javascript
运行
复制
npm install socket.io

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

代码语言:javascript
运行
复制
//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)视图中,我添加了以下代码:

代码语言:javascript
运行
复制
script(src="https://cdn.socket.io/socket.io-1.2.0.js")
script.
    var socket = io('http://localhost/');

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

代码语言:javascript
运行
复制
http://localhost:3000/socket.io/?EIO=3&transport=polling&t=1427056664743-51 404 (not found)

据我所知,我没有像几乎每个相关问题的答案中建议的那样使用快速生成器,我做错了什么?

my complete app.js

我尝试过this:但结果是端口3000已在使用中时出现错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-23 05:24:32

多亏了答案here解决了这个问题

代码语言:javascript
运行
复制
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");
});

在客户端:

代码语言:javascript
运行
复制
script(src='/javascripts/socket.io-1.2.0.js')
script.
    var socket = io.connect( "http://localhost:8080");

更改端口起到了作用(8080而不是3000)

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29199593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档