Socket.IO 1.4.x中的传输设置

时间:2016-02-27 19:25:08

标签: node.js sockets heroku socket.io deployd

我一直在使用这个要点修改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实例,我就会寻求更改设置。

任何指针都表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:2)

在创作时设置:

var server = deployd({
    socketIo: {
        options: { transports : ['xhr-polling'] }
    }
});

或者,如果你不能这样做,那就改变它的运行时间(这是一个黑客攻击):

server.sockets.server.eio.transports = ['xhr-polling'];

(这仍然支持向后兼容性:)

server.sockets.server.set('transports', ['xhr-polling']);