我激活了HTTPS,Socket.IO返回了错误:
net::ERR_CONNECTION_REFUSED
Server.js:
var fs = require('fs');
var https = require('https');
var options = {
key: fs.readFileSync(‘./cert.pem'),
cert: fs.readFileSync(‘./cert.crt')
};
var express = require('express'),
app = express(),
server = https.createServer(options, app);
var io = require('socket.io').listen(server);
server.listen(8080);前线:
<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
var socket = io.connect('IP:8080');如果失活的HTTPS,Socket.IO有效.
发布于 2017-02-22 22:49:43
两种理论:
( 1)你是在远程主持这个节目吗?如果是,则可能没有与本地服务器相同的端口号。例如,在Heroku托管的节点应用程序上,您可以通过以下方式访问端口号:
process.env.PORT所以你可以:
server.listen(process.env.PORT || 8080);2)也可能是CORS问题。您将需要包括访问控制-允许源标头.在设置'app‘和调用’server.listen(.)‘之间包括一个中间件实用程序,如下所示:
app.use(function (req, res, next) {
res.header('Access-Control-Allow-Origin', req.headers.origin);
res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.header('Access-Control-Allow-Credentials', 'true');
res.header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type');
if ('OPTIONS' == req.method) {
res.writeHead(200);
res.end();
} else {
next();
}
});希望这能有所帮助
https://stackoverflow.com/questions/41021449
复制相似问题