Socket.IO不会连接 - /socket.io/ 404的?

时间:2015-08-12 20:12:03

标签: node.js express socket.io

我有一个带有express 4的小型http服务器,我需要添加一个小的实时组件,我选择了Socket.IO。我按照他们的指示来到这段代码:

var https = require("https"),
fs = require("fs"),
express = require('express'),
app = express();

var options = {
  key: fs.readFileSync('redacted.key'),
  cert: fs.readFileSync('redacted.crt'),
  ca: [ 
    fs.readFileSync('g1.crt'),
    fs.readFileSync('g2.crt'),
    fs.readFileSync('g3.crt')
  ]
};

var server = https.createServer(options, app);
var io = require('socket.io')(server);

server.listen(30572);
io.listen(30572);

io.on('connection', function(socket) {
  console.log('SocketIO connection received');
});

app.use(function(request, response, next) {
  if (!request.secure) {
    return response.redirect(['https://', request.get('Host'), request.url].join(''));
  }

  next();
});

app.use(express.static('.'));

console.log('Listening on 30572... Ctrl + C to quit');

此客户代码:

var socket = io.connect(location.origin)

从那时起,我就注意到这条消息传到了控制台:

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

我已经注释掉使用区块无济于事。

我有什么问题吗?

编辑:删除SSL没有任何区别。

1 个答案:

答案 0 :(得分:0)

无视这个问题。这是我使用gulp livereload服务器而不是我自己的服务器的问题。它现在有效。