2015-05-22 153 views
3

请帮助我!Socket.IO在Google Chrome上停止工作43.0.2357.65

在我的网站上更新到最新版Google Chrome(43.0.2357.65)后,socket.io停止工作。

它发送太多的请求,每次创建新的套接字连接。

我的网站的谷歌开发者工具的截图网络:socket.io网站http://socket.io/demos/chat/工作正常上http://i.stack.imgur.com/TLXGg.png

但是演示的例子。

截图网socket.io演示://i.stack.imgur.com/QWNW2.png

我使用在客户端验证码:

$.getScript('http://localhost:1337/socket.io/socket.io.js', function() { 
    var socket = io.connect('http://localhost:1337/?token=ABCDEF'); 
}); 

在其他浏览器的代码做工精细,并在谷歌浏览器之前更新它工作正常

Socket.io版本1.3.5

在控制台我有这些德错误信息:

engine.io-client:polling-xhr xhr open GET: //it.iksys:1337/socket.io/?token=410235d6a03ead4497fa18037e8da5d73133367d&EIO=3&transport=polling&t=1432302871093-738 +1ms 
socket.io.js?_=1432302864284:3715 engine.io-client:polling-xhr xhr data null +1ms 
socket.io.js?_=1432302864284:3715 engine.io-client:polling polling got data ok +4ms 
socket.io.js?_=1432302864284:3715 engine.io-client:socket socket receive: type "error", data "parser error" +0ms 
socket.io.js?_=1432302864284:3715 engine.io-client:polling polling +1ms 
socket.io.js?_=1432302864284:3715 engine.io-client:polling-xhr xhr poll +1ms 
socket.io.js?_=1432302864284:3715 engine.io-client:polling-xhr xhr open 
+0

它不是新的连接,它轮询http请求 – Hacketo

+0

但代码停止为我工作。在Node.JS服务器代码中,每个请求都是新的套接字(不同的socket.id),但必须是一个套接字。 – BONDRV

+0

如果我正确理解socket.io,则第一个轮询请求会收到sid参数(它是服务器上的socket.id),并且下一个轮询请求必须在查询中使用此sid参数创建。但是每个新的请求都创建时没有sid参数。 – BONDRV

回答

2

我找到了解决方案在确定客户端只WebSocket的运输:

var options = {}; 
options.transports = ['websocket']; 
var socket = io.connect('http://localhost:1337/?token=ABCDEF', options); 

我想,这个版本的谷歌浏览器有一些问题与XHR轮询。

感谢您的任何帮助。