Node.js Socket.io、https和express连续连接/断开循环

Node.js Socket.io、https和express连续连接/断开循环,node.js,express,socket.io,Node.js,Express,Socket.io,我正在尝试在节点上同时使用socket.io、express和https。当socket.io连接时,它会立即断开连接,重新连接并循环。可以使用以下代码重新创建问题 服务器 var app = express(); var server = https.createServer(sslOptions, app) var io = require('socket.io').listen(server); app.use(express.static('./public')); server.lis

我正在尝试在节点上同时使用socket.io、express和https。当socket.io连接时,它会立即断开连接,重新连接并循环。可以使用以下代码重新创建问题

服务器

var app = express();
var server = https.createServer(sslOptions, app)
var io = require('socket.io').listen(server);
app.use(express.static('./public'));
server.listen(port, function(){});
客户

<script type="text/javascript" src="/socket.io/socket.io.js"></script>
<script>
    var socket = io.connect('https://testdomain.com', { secure: true });
</script>

通过卸载节点v0.10.9并安装v0.10.10修复。

通过卸载节点v0.10.9并安装v0.10.10修复。

我无法复制它,尽管我尝试了
io.connect('',{secure:true})
socket.io
自动发现服务器。你不是在用代理吗?没有代理什么的。我在进行自动发现时也会遇到同样的问题。不过,只有在使用https时才会出现此问题。这是我用来测试的完整源代码。。。我只是试图查看socket.io源代码以了解发生了什么。。。我注意到,当使用https时,在连接数据参数设置为129后,hybi-16.js(Parser.prototype.processPacket)的第509行立即被命中。这就是抛出错误的地方。在http中,直到第一次心跳时,这一行似乎才被点击,此时数据参数设置为71,一切正常。是否有可能由于不同的socket.io和/或express版本、不同的证书详细信息、不同的openssl安装或不同版本的节点而得到不同的结果?我正在Winx64上使用节点v0.10.9。我无法复制它,尽管我尝试使用
io.connect('',{secure:true})
socket.io
自动发现服务器。你不是在用代理吗?没有代理什么的。我在进行自动发现时也会遇到同样的问题。不过,只有在使用https时才会出现此问题。这是我用来测试的完整源代码。。。我只是试图查看socket.io源代码以了解发生了什么。。。我注意到,当使用https时,在连接数据参数设置为129后,hybi-16.js(Parser.prototype.processPacket)的第509行立即被命中。这就是抛出错误的地方。在http中,直到第一次心跳时,这一行似乎才被点击,此时数据参数设置为71,一切正常。是否有可能由于不同的socket.io和/或express版本、不同的证书详细信息、不同的openssl安装或不同版本的节点而得到不同的结果?我正在Winx64上使用节点v0.10.9。啊,很高兴听到:)我忘了0.10.10的一个变更日志条目是:“socket.io再次工作”啊,很高兴听到:)我忘了0.10.10的一个变更日志条目是:“socket.io再次工作”
debug - client authorized
info  - handshake authorized uBDQXqTmgbJzm-lnSWsm
debug - setting request GET /socket.io/1/websocket/uBDQXqTmgbJzm-lnSWsm
debug - set heartbeat interval for client uBDQXqTmgbJzm-lnSWsm
debug - client authorized for
debug - websocket writing 1::
warn  - websocket parser error: reserved fields must be empty
info  - transport end (undefined)
debug - set close timeout for client uBDQXqTmgbJzm-lnSWsm
debug - cleared close timeout for client uBDQXqTmgbJzm-lnSWsm
debug - cleared heartbeat interval for client uBDQXqTmgbJzm-lnSWsm
debug - discarding transport