我试图在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
答案 0 :(得分:9)
我弹出了源代码,发现socket.io.js正在检查字符串polling
而不是xhr-polling
。所以这有效:
var options = {
transports: [ 'polling' ]
};