Имеется вот такой пакет (дамп из 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? Это сразу же ошибка синтаксиса.
Спасибо.