2016-03-18 3 views
1

WebSocket RFC заявляет следующее в [разделе фрейма данных] (https://tools.ietf.org/html/rfc6455#section-5.2) при описании Payload Length:WebSocket - Полезная нагрузка Длина

Если 127, следующие 8 байтов интерпретируется как 64-разрядного целого числа без знака (самый старший бит ДОЛЖЕН быть 0) - это длина полезной нагрузки.

У меня есть два вопроса:

  1. Есть ли конкретная причина, почему most significant bit must be 0?
  2. Это делает максимальный размер одного кадра 9223372036854775807 байтов?

ответ

0
  1. MSB имеет бит MASK-бит. Если этот бит установлен, полезная нагрузка маскируется с помощью следующей маски-клавиши. Длина поля составляет всего 7 бит.
  2. Максимальный размер кадра
+0

Я думаю, вы что-то неправильно поняли. Бит MASK доходит до поля длины, а поле длины равно 7, 7 + 16 или 7 + 64 бит в течение долгого времени. Мне также интересно, почему MSB из 64 бит (в случае с 7 + 64 бит) должен быть равен нулю. Может быть, для будущих расширений? Это все еще оставляет вас с 2 ** 63-1 байтами, но это 8388607 PiB максимальной длины полезной нагрузки для одного кадра. – Patrik

 Смежные вопросы

  • Нет связанных вопросов^_^