socket.io不能使用传输:['xhr-polling']

时间:2015-03-03 16:59:04

标签: node.js socket.io-1.0

我试图在socket.io中测试回退到轮询,以验证我的应用程序是否适用于不支持任何原因的websockets的客户端。

我正在使用非常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

1 个答案:

答案 0 :(得分:9)

我弹出了源代码,发现socket.io.js正在检查字符串polling而不是xhr-polling。所以这有效:

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