Как этот пример фрейма данных в Websocket RF C равен «Hello»? - PullRequest
0 голосов
/ 18 января 2020

Первый пример Раздел 5.7 протокола Websocket RF C 6455 гласит:

Однокадровое немаскированное текстовое сообщение

  • 0x81 0x05 0x48 0x65 0x6 c 0x6 c 0x6f (содержит «Hello»)

Какие первые два октета в этом примере и почему они есть?

Просматривая коды UTF-8 для последних пяти октетов, я вижу, как эти байты будут переводиться в Hello.

1 Ответ

0 голосов
/ 18 января 2020

Первые два октета в этом примере содержат метаданные о фрейме данных и полезной нагрузке, которую он содержит. Последние пять октетов представляют полезную нагрузку или Hello.

Первые два октета 0x81 0x05 являются шестнадцатеричными представлениями двух байтов или 16 битов данных. В двоичном виде они преобразуются в: 1000 0001 0000 0101.

Используя диаграмму фрейма данных из RF C, вы можете увидеть, что эти биты говорят нам о фрейме данных. Подводя итог:

  • 1-й бит (FIN) : указывает, что это последний фрагмент отправляемого сообщения
  • 5-й-8-й бит (код операции) ) : полезная нагрузка представляет собой текстовое сообщение в формате UTF-8
  • 9-16-й бит (длина полезной нагрузки) : длина полезной нагрузки составляет 5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...