Heroku + Socket.io有时候有时候不起作用

我已经阅读了一些文章,并知道你需要xhr-polling for socket.io才能在heroku上工作,这就是我迄今为止所做的:

var app = require('http').createServer(); var io = require('socket.io').listen(app, {origins: '*:*'}); io.configure(function () { io.set("transports", ["xhr-polling"]); }); io.sockets.on('connection', function(socket) { console.log("Connected..."); socket.on('message', function(message) { console.log("Message in:" + message.toString()); } } 

这个代码有时可以工作,有时停在console.log("Connected...") ,不会进入socket.on('message', function(message) 。我不知道为什么它只有在感觉我也尝试重新启动应用程序,但仍然无法正常工作。

除了将传输设置为xhr-polling ,还需要设置轮询持续时间

io.set("polling duration", 10);