Потоки Node.js дают разные результаты в Windows и Linux - PullRequest
0 голосов
/ 03 января 2019

Я читаю поток строк, используя http.request и следующий (упрощенный) код:

var http = require('http');

var options = {
    host: XXXX,
    port: XXXX,
    path: XXXX,
    method: "GET",
    timeout: 15000,
    "headers": {
        "Content-Type": "text/plain; charset=UTF-8"
    }
};

node.request = http.request(options, function (response)
{
    response.on('data', function (chunk)
    {
        console.log("Length: " + chunk.byteLength);
    });
});
  • Если я запускаю этот код на машине с Linux, byteLength для каждогоЧанк всегда более или менее одинаков, около 3000.
  • Если я запускаю этот код на компьютере с Windows, byteLength для каждого чанка меняется.Первый фрагмент около 3000, а следующие около 1500.

Я знаю, что источник отвечает фрагментами 3000 каждые x секунд.Linux получает весь фрагмент, и кажется, что в Windows фрагмент разбит (похоже, что событие onData запускается два раза)

Есть ли какие-либо различия между версиями Linux и Windows для этой библиотеки?Кто-нибудь знает, что происходит?

Заранее спасибо.

...