6

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.

Sneaky Beaver
  • 705
  • 2
  • 8
  • 15
  • I don't think anyone would be able to answer your question at this state, as there is not enough information (e.g no code) to determine the problem. Please add further information if you would like to solve this problem. – Oguzhan D. Dec 06 '16 at 09:41
  • I edited the OP with some more data but there's not really anything unusual about the code. – Sneaky Beaver Dec 06 '16 at 09:51
  • Possible duplicate of [Socket.io 1.x: use WebSockets only?](https://stackoverflow.com/questions/28238628/socket-io-1-x-use-websockets-only) – Thomas Weller Sep 17 '19 at 22:11

2 Answers2

19

I fixed this by adding

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

as options when instantiating the client.

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

Community
  • 1
  • 1
Sneaky Beaver
  • 705
  • 2
  • 8
  • 15
0

Change the socket.io-client version correctly.

npm i socket.io-client@v2-latest --save