Node.js Socket.IO 1.4.x中的传输设置
我一直在修补Heroku上部署的作为起点:Node.js Socket.IO 1.4.x中的传输设置,node.js,sockets,heroku,socket.io,deployd,Node.js,Sockets,Heroku,Socket.io,Deployd,我一直在修补Heroku上部署的作为起点: server.js的第20行尝试为socket.io设置传输,如下所示: server.sockets.manager.settings.transports=[“xhr轮询”]; 但是遇到了这个错误: 无法读取未定义的属性“设置” 从目前的研究来看,socket.io 1.4.5中似乎不推荐这种方法。然而,如果是这样的话,我不清楚我应该如何解决这个问题 我的问题类似于。但不同之处在于,一旦socket.io已由deployd的实例构造并连接到
server.js的第20行尝试为socket.io设置传输,如下所示:
server.sockets.manager.settings.transports=[“xhr轮询”];
但是遇到了这个错误:
无法读取未定义的属性“设置”
从目前的研究来看,socket.io 1.4.5中似乎不推荐这种方法。然而,如果是这样的话,我不清楚我应该如何解决这个问题
我的问题类似于。但不同之处在于,一旦socket.io已由deployd的实例构造并连接到该实例,我会尝试更改设置。在创建时设置它:
var server = deployd({
socketIo: {
options: { transports : ['xhr-polling'] }
}
});
或者,如果您不能做到这一点,请在运行时更改它(这是一种黑客行为):
(这仍然支持向后兼容:)
第三个选项是向后兼容,它起作用了,所以我重新开始工作。等我有时间再谈,我会试试你的另外两个建议。当我有结果时,我会用结果更新这个问题。谢谢你的帮助
server.sockets.server.eio.transports = ['xhr-polling'];
server.sockets.server.set('transports', ['xhr-polling']);