En mi aplicación frontend, implementé un mecanismo que divide el archivo en fragmentos y luego envía sus partes en un bucle for como este (los chunks son una matriz de cadenas: contenido del archivo en forma binaria):
for (let i = 0; i < chunks.length; i++) { sendFile(chunks[i], name, extension, mimeType, chunks.length, i); } Aunque no estaba funcionando. Estaba recibiendo este error: 
Entonces pensé, tal vez agregaré un retraso entre cada emisión de fragmentos y tú, funcionó. Si el servidor está alojado en localhost, el intervalo de 20 ms es suficiente:
for (let i = 0; i < chunks.length; i++) { sendFile(chunks[i], name, extension, mimeType, chunks.length, i); await sleep(20); }Ahora implementé la aplicación en mi VPS y el error volvió. Me di cuenta de que tenía que aumentar la duración del sueño a 100 ms para que funcionara.
¿Qué está causando esto y cómo abordar este problema?
Parece que el método de transporte long-polling simplemente apesta en general. Siempre apunte a usar websockets: resolvió mi problema.