¿Cuándo se emite el evento ‘connect’ en el módulo net de nodejs?

Tengo este servidor TCP simple:

var net = require('net'); var server = net.createServer(function (socket) { socket.on('connect', function() { console.log("New client!"); }); }); server.listen(8000, function(){ console.log("server running...") }); 

Y luego tengo otro archivo como client.js :

 var net = require('net'); var client = net.connect({port: 8000}, function() { console.log('client connected'); }); client.on('error', console.error); 

Ejecuto el servidor en una ventana de terminal y luego ejecuto el cliente en otra ventana y espero ver el registro del servidor “Nuevo cliente”. Aunque, eso no sucede. Entonces, ¿cuándo se emite exactamente el evento ‘conectar’?

net.createServer establece la función dada como un oyente para el evento de connection .

En otras palabras, en el lado del servidor, el socket ya está conectado cuando recibe la callback , y el evento que está intentando escuchar no se emite en un socket ya conectado.

Hice una prueba diferente. El objeto servidor tiene la propiedad “timeout”. Cuando llamas al siguiente código:

server.setTimeout(500); // Ahora, después de 0,5 segundos, puede llamar al evento “conexión”. El valor predeterminado es 120000.

Pero, todavía no tengo idea de lo que causará este cambio.