我一直在使用这个要点修改Heroku上的deployd作为起点:
https://gist.github.com/facultymatt/5373247
该server.js的第20行尝试为socket.io设置传输,如下所示:
server.sockets.manager.settings.transports = ["xhr-polling"];
但遇到这个错误:
无法读取属性'设置'未定义的。
到目前为止,研究似乎在socket.io 1.4.5中不推荐使用这种方法。但是,如果是这样的话,我就不知道如何解决这个问题。
我的问题类似于this one。但不同之处在于,一旦socket.io已经由deployd实例构建并附加到deployd实例,我就会寻求更改设置。
任何指针都表示赞赏。谢谢!
答案 0 :(得分:2)
在创作时设置:
var server = deployd({
socketIo: {
options: { transports : ['xhr-polling'] }
}
});
或者,如果你不能这样做,那就改变它的运行时间(这是一个黑客攻击):
server.sockets.server.eio.transports = ['xhr-polling'];
(这仍然支持向后兼容性:)
server.sockets.server.set('transports', ['xhr-polling']);