我有一个带有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没有任何区别。
答案 0 :(得分:0)
无视这个问题。这是我使用gulp livereload服务器而不是我自己的服务器的问题。它现在有效。