Socket.IO infinite loop on connection

Viewed 8915

Socket.IO make an infinte loop on connection ! It's weird and never happen until now. I don't know what's wrong. I try to rebuild the package, I copy some code from an older source and the same result...

io.on('connection', function(socket){
  console.log('someone connected << infinite loop');
});

It's a basic ExpressJS server with http on top.

const
port        = process.env.PORT || 3200,
app         = require('express')(),
express     = require('express'),
mysql       = require('mysql'),
bodyParser  = require('body-parser'),
path        = require('path'),
methodOverride = require('method-override'),
http        = require('http').Server(app),
io          = require('socket.io')(http);

Client-Side

var socket = io();
2 Answers

This happened to me when I emitted an array (on connection) and not an object...

I solved it by wrapping the array with {} so I'm now sending an object... i.e {array}...

e.g:

myArray = [{blah:"some value"},{blah2:"some other value"}];

socket.emit('target',myArray); //results in infinite loop

socket.emit('target',{myArray}); //sends ok and not looping

No need for socket version to match on server and client... in my case the client is c# and my server is node.js

Related