BONDRV
BONDRV

Reputation: 59

Socket.IO stops working on Google Chrome 43.0.2357.65

Please, help me!

After update to last version of Google Chrome (43.0.2357.65) on my website socket.io stops working.

It sends too many requests and every time create new socket connection.

Screenshot Network of Google Developer Tools of my site: https://i.sstatic.net/TLXGg.png

But demo example on socket.io website http://socket.io/demos/chat/ works fine.

Screenshot Network for socket.io demo: //i.sstatic.net/QWNW2.png

I'm using this code on client:

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

In other browsers code works fine, and in google chrome before update it works fine

Socket.io version 1.3.5

In console i have these debug messages:

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 

Upvotes: 3

Views: 1435

Answers (2)

Gank
Gank

Reputation: 4667

// package.json
{
  "dependencies": {
     "socket.io-client": "2.1.1"
   }
}

https://github.com/socketio/socket.io-client/issues/1245

Upvotes: 0

BONDRV
BONDRV

Reputation: 59

I found solution in defining only websocket transport for client:

NodeJS:

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

Angular 4:

 this.socket = io(environment.socketURL, {  upgrade: false, transports: [ 'websocket' ], query: {token: TokenService.token()}});

I suppose that this version of Google Chrome has some problems with xhr-polling.

Upvotes: 2

Related Questions