Как сделать простой сервер Hello World для соединений Quic?Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Как сделать простой сервер Hello World для соединений Quic?

Сообщение Anonymous »

После того, как я добавлю аргумент-origin-to-force-quic-on = localhost: 443 для Chrome Launcher, все соединения (включены навигации) начинают запускать конечную точку Quic на моем сервере. Это совершенно хорошо для целей моего проекта, но я не могу найти никакого примера о том, как обрабатывать такие навигационные соединения. Я перемещаюсь по https: // localhost , а мой код сервера Deno выглядит следующим образом:

Код: Выделить всё

import SSL from './SSL.js'

const enc=new TextEncoder,
dec=new TextDecoder
for await(const conn of new Deno.QuicEndpoint({port:443}).listen({alpnProtocols:['h2','h3'],...(SSL.default??SSL)})){
for await(const {writable,readable} of conn.incomingBidirectionalStreams){
for await(const data of readable) console.log(dec.decode(data))
const writer=writable.getWriter()
await writer.write(enc.encode('Hello World!'))
writer.close()
}
}
В этом коде я просто пытаюсь прочитать все, что Chrome отправляет мне, а затем ответить на все с помощью Hello World! . Однако это не работает с обоих концов. Байтовые массивы, которые получает мой сервер, выглядят так: < /p>

Код: Выделить всё

Uint8Array(451) [
1,  65, 192,   0,   0, 209,  80, 134, 160, 228,  29,  19,
157,   9, 215, 193, 228,  47,   0,  65,  72, 177,  39,  90,
209, 255, 184, 254, 116, 157,  63, 220,  63, 119, 108,  29,
82, 127,  63, 125, 224, 254,  94, 254, 126, 148, 254, 111,
79,  97, 233,  53, 180, 255,  63, 125, 224, 254,  66, 203,
223, 207, 210, 159, 206,  35, 158, 106,  10, 165, 233, 236,
61,  37, 254, 126, 251, 193, 252, 133, 151, 191, 159,  47,
4,  65,  72, 177,  39,  90, 209, 173,  73, 227,  53,   5,
2,  63,  48,  47,
... 351 more items
]
< /code>
Chrome отправляет 3 одинаковых байтовых массива, а затем закрывает свой поток для записи. Эти байты явно не могут быть переведены в Unicode, и когда на них используется новый TextDecoder 
- вывод - расцвет. Итак, что мне делать с этими байтовыми массивами и какова их цель? Я подумал, что браузер будет ждать, чтобы получить HTML -код, чтобы нарисовать его на экране браузера, однако, когда я отправляю закодированный Hello World! и закрываю мою запись для записи подключения с моим сервером немедленно заканчивается с помощью ERR_QUIC_PROTOCOL_ERROR . Итак, что именно мне следует отправить в браузер взамен?

Подробнее здесь: https://stackoverflow.com/questions/797 ... onnections
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»