socket.io 不适用于传输:['xhr-polling']
Posted
技术标签:
【中文标题】socket.io 不适用于传输:[\'xhr-polling\']【英文标题】: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
【问题讨论】:
【参考方案1】:我打开源代码,发现 socket.io.js 现在正在检查字符串 polling
而不是 xhr-polling
。所以这行得通:
var options =
transports: [ 'polling' ]
;
【讨论】:
以上是关于socket.io 不适用于传输:['xhr-polling']的主要内容,如果未能解决你的问题,请参考以下文章