socket.io适用于heroku但不适用于azure

时间:2017-10-05 10:53:59

标签: azure heroku socket.io azure-web-sites

我正在使用git来部署我的应用程序而不是FTP。我也设置在客户端:

var socket = io({transports:['websocket']}); 

也在服务器

var port = process.env.PORT || 3000;
...
io.on('connection', function(socket) {    io.set('transports', ['websocket']);
    console.log('new connection on socket.io');
    socket.on('move', function(msg) {
        socket.broadcast.emit('move', msg);
    });
});

Websocket和'Always On'在azure上设置,web.config确实有:

但仍然向所有套接字发出失败。我为我的应用程序制作了更简单的测试版本。再次部署到heroku并没有问题。 可以在此处看到完全部署的应用程序代码:

https://github.com/jmietola/testexpress

1 个答案:

答案 0 :(得分:0)

使用socket.io时请禁用perMessageDeflate标头。

var io = require('socket.io')(server,{   perMessageDeflate:false });