¿Por qué node.js divide los datos entrantes en fragmentos?

El siguiente código en node.js no registra todos los datos entrantes entre corchetes, sino que divide los datos en partes. Entonces, por ejemplo, si los datos entrantes son ABCDEF ... XYZ, registra los datos como [ABC] [DEF] ... [XYZ] en lugar de [ABCDEF ... XYZ]. Los datos son mucho más grandes, por supuesto, el alfabeto es solo un ejemplo.

¿Cómo debo escribir esto para que todos los datos entrantes se registren una vez dentro de los corchetes y no en partes?

chatServer.on('connection', function(client) 
{
    client.on('data', function(data) 
    {
        console.log('[' + data.toString() + ']');
    })    
})

Respuestas a la pregunta(2)

Su respuesta a la pregunta