Как передать большой пакет байт в node.js используя buffer?

Имеется вот такой пакет (дамп из wireshark).
0000   02 00 00 00 45 00 00 ae 78 8b 40 00 80 06 00 00   ....E...x.@.....
0010   7f 00 00 01 7f 00 00 01 00 50 da 6e 75 42 cc 04   .........P.nuB..
0020   b2 4b fe 9e 50 18 00 1e fe a2 00 00 48 54 54 50   .K..P.......HTTP
0030   2f 31 2e 31 20 32 30 30 20 4f 4b 0d 0a 44 61 74   /1.1 200 OK..Dat
0040   65 3a 20 54 68 75 2c 20 31 34 20 4d 61 72 20 32   e: Thu, 14 Mar 2
0050   30 31 39 20 31 36 3a 35 38 3a 35 37 20 47 4d 54   019 16:58:57 GMT
0060   0d 0a 53 65 72 76 65 72 3a 20 41 70 61 63 68 65   ..Server: Apache
0070   2f 32 2e 34 2e 31 30 20 28 44 65 62 69 61 6e 29   /2.4.10 (Debian)
0080   0d 0a 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68   ..Content-Length
0090   3a 20 38 0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a   : 8..Connection:
00a0   20 63 6c 6f 73 65 0d 0a 0d 0a 04 00 00 00 07 50    close.........P
00b0   f9 6e                                             .n

Как его отправить, используя node?
Как видно, тут есть и стандартные заголовки, и я попробовал writeHead.
Выяснилось, что нужно 100% сходство...

Нагуглил, что с байтами работать можно, используя Buffer.
const buffer = new Buffer.alloc([0x04,0x00,0x00,0x00,0x07,0x50,0xf9,0x6e])

Сделал сервер, отвечаю на заголовки.
res.write(buffer, 'binary')
		res.end(null, 'binary')

Вот такая строка не вызывает никаких вопросов, всё корректно уходит.

Но у меня же огроменный пакет -- как мне изменить код так, чтобы туда вставлять что-то типа 00a0x20? Это сразу же ошибка синтаксиса.

Спасибо.
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
Robur
@Robur
Знаю больше чем это необходимо
Оставим странность того что вы делаете за рамками - каждый развлекается как хочет.
Если вам просто лень набивать это руками и хочется как-то побыстрее - затолкайте это все в строку в виде "02 00 00 00 45 00 00 ae 78 8b 40 00 80 06 00 00" или как вам там удобно копипасту сделать и из строки уже создайте буфер, распарсив это все как вам надо. Или положите дамп в бинарный файл и прочитайте его сразу в буфер как есть.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы