如何解决Socket.io 404(未找到)错误?

我在Express中使用Socket.io。在我的项目中,我有一个登录页面和一个主页。成功登录后,我导航到localhost:3000 /

home,收到此错误:

GET http://localhost:3000/socket.io/?EIO=3&transport=polling&t=1418187395022-0 404 (Not Found)

我没有对我app.js(通过express创建的项目)进行任何修改。

index.js:

var express = require('express');

var router = express.Router();

var http = require('http');

var fs = require('fs');

var io = require('socket.io')(http);

/* GET home page. */

router.get('/', function(req, res) {

res.render('index', { title: 'Express' });

});

router.get('/home', function(req, res) {

res.render('home', { title: 'Express' });

});

io.on('connection', function(socket){

console.log("User Connected");

socket.on('chat message', function(msg){

io.emit('chat message', msg);

console.log("Message");

});

socket.on('disconnect', function(msg){

console.log("User DisConnected");

});

});

router.post('/authenticate', function(req, res) {

fs.readFile("./public/Verification/Users.json", "utf8", function (err, data) {

if (err)

console.log(err);

else{

var result = JSON.parse(data);

for(var i=0;i<result.Users.length;i++){

if(req.body.username == result.Users[i].username && req.body.password == result.Users[i].password){

console.log("Success!!!!!!!!!!!!!!");

res.location("home");

res.redirect("home");

}

}

}

});

});

module.exports = router;

在我layout.jade这样定义Socket.io中:

script(src='https://cdn.socket.io/socket.io-1.2.0.js')

回答:

如果您运行的是Express 4,在我看来,您似乎缺少代码行:

var app = express();

var server = app.listen(3000);

这将启动您的Web服务器并将其设置为端口3000。请在此处查看基本的Express

4应用程序:http :

//expressjs.com/4x/api.html

然后,要启动socket.io,您需要添加:

var io = require('socket.io').listen(server);

并且,不需要此行:

var http = require('http');

以上是 如何解决Socket.io 404(未找到)错误? 的全部内容, 来源链接: utcz.com/qa/412496.html

回到顶部