我有一个带有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)我注释掉了use块,但无济于事。
我有什么地方做错了吗?
编辑:删除SSL没有任何影响。
发布于 2015-08-13 05:06:56
忽略这个问题。这是我使用gulp livereload服务器而不是我自己的服务器的问题。它现在起作用了。
https://stackoverflow.com/questions/31974494
复制相似问题