【发布时间】:2017-05-19 12:12:59
【问题描述】:
在将 socket.io 从版本 1.3.5 更新到 2.0.1 后,连接到服务器时出现错误:“标头已发送”,但并非总是如此,有时它可以工作。
我也更新了 node(4.5.0=>6.10.3) 和 express(4.14.0=>4.15.3) 但我觉得这是 socket.io 的问题。
这是我的代码,它在 1.3.5 上运行没有问题:
var app = require("express")();
var https = require('https');
var server = https.createServer({
key: fs.readFileSync('key.key'),
cert: fs.readFileSync('cert.crt'),
ca: fs.readFileSync('Chain-SHA2.crt'),
requestCert: false,
rejectUnauthorized: false
},app);
server.listen(8081);
var io = require('socket.io')(server);
app.post("/xxx", function(request, response) {
//some code
});
app.listen(8080);
io.on('connection', function(socket){
//some code
});
【问题讨论】:
-
我相信这个问题会受益于添加你得到的错误的堆栈跟踪。
标签: node.js sockets express https socket.io