2

我一直在修补 Heroku 上的部署,使用这个要点作为起点:

第 20 行server.js尝试为 socket.io 设置传输,如下所示:

server.sockets.manager.settings.transports = ["xhr-polling"];

但是遇到这个错误:

无法读取未定义的属性“设置”。

从目前的研究来看,这种方法似乎在 socket.io 1.4.5 中已被弃用。但是,如果是这样,我不清楚我应该如何解决这个设置。

我的问题与类似。但不同之处在于,一旦 socket.io 已经由已部署实例构建并附加到已部署实例,我会寻求更改设置。

4

1 回答 1

2

在创建时设置它:

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

或者,如果您不能这样做,请在运行时更改它(这是一个 hack):

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

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

server.sockets.server.set('transports', ['xhr-polling']);
于 2016-02-27T21:15:15.323 回答