Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

socket.io automatically disconnects socket

I keep getting this error in the developer console when I run socket.io in electron.

engine.io-client:socket probe transport "websocket" failed because of error: transport closed +6s

When I establish it the socket always disconnects right away. My client doesn't even get the socket.emit I do as soon as the connection is established until after a minute or two.

The client and server are on the same version of socket.io.

Server:

io.on('connection', function(socket){
  socket.emit('got it','');
  console.log('Socket connection established');
});

Client:

var socket = require('socket.io-client')('http://localhost:3000');
console.log(socket);
socket.on('got it', function(a){
  console.log('connected');
  console.log(socket);
})

This isn't the complete code but there's nothing else that interacts with websockets except some other listeners which shouldn't affect the connection.

The server isn't showing any issues. It tells me every time someone connects but when I try to emit anything either way the recipient won't get it right away. I see "emitting packet with ack id x" every time I click the button that sends an emit, but the server doesn't see it. This issue is intermittent as if I wait a bit the server and client will be able to connect, but they still disconnect randomly after some time.

like image 367
Sneaky Beaver Avatar asked Dec 06 '16 09:12

Sneaky Beaver


1 Answers

I fixed this by adding

{transports: ['websocket'], upgrade: false}

as options when instantiating the client.

Answer from https://stackoverflow.com/a/28240802/4726265

like image 89
Sneaky Beaver Avatar answered Oct 06 '22 13:10

Sneaky Beaver