【问题标题】:socket.io doens't work with transports: [ 'xhr-polling' ]socket.io 不适用于传输:['xhr-polling']
【发布时间】:2015-05-04 10:39:14
【问题描述】:

我正在尝试在 socket.io 中测试回退到轮询,以验证我的应用是否可以与出于任何原因不支持 websocket 的客户端一起使用。

我将 basic server/client example 用于 Express 4。它适用于:

// client-side
var options = {
   transports: [ 'xhr-polling', 'websocket' ]
};

var socket = io.connect('http://localhost:8080', options);
socket.on('news', function (data) {
  console.log(data);
  socket.emit('my other event', { my: 'data' });
});

但是,如果我从传输中删除“websocket”,客户端不会发生任何事情 - 没有错误,没有事件,什么都没有。在服务器端我只看到:

Tue, 03 Mar 2015 16:45:49 GMT socket.io:server serve client 304

【问题讨论】:

    标签: node.js socket.io-1.0


    【解决方案1】:

    我打开源代码,发现 socket.io.js 现在正在检查字符串 polling 而不是 xhr-polling。所以这行得通:

    var options = {
       transports: [ 'polling' ]
    };
    

    【讨论】:

      猜你喜欢
      • 2012-06-20
      • 2013-04-03
      • 2013-08-01
      • 2013-04-06
      • 2019-05-09
      • 2012-03-03
      • 2011-09-10
      • 2013-10-09
      • 2012-11-16
      相关资源
      最近更新 更多