Categories
javascript node.js socket.io sockets

Socket.io error handling

I am having a problem with Socket.IO.

I am trying to reconnect the socket after the socket errors but it won’t reconnect. Here is the code:

socket = io.connect(host, options);
socket.on('connect', this.onConnect);
socket.on('error', function() {
//here i change options
socket = io.connect(host, options);
});

Why it doesn’t it create the new connection? (The host and port are being kept constant and it works for the first connection).

Try adding the option { 'force new connection': true } to io.connect. It sounds like it isn’t retrying the connection.

Socket IO won’t reconnect to a host that it has already tried, unless you specify this option.

Here is a snippet with the options hash specified in-line:

io.connect(host, {
'force new connection': true
});

You can learn more about the options here: https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO