1
WebSocket RFC заявляет следующее в [разделе фрейма данных] (https://tools.ietf.org/html/rfc6455#section-5.2) при описании Payload Length:WebSocket - Полезная нагрузка Длина
Если 127, следующие 8 байтов интерпретируется как 64-разрядного целого числа без знака (самый старший бит ДОЛЖЕН быть 0) - это длина полезной нагрузки.
У меня есть два вопроса:
- Есть ли конкретная причина, почему
most significant bit must be 0
? - Это делает максимальный размер одного кадра
9223372036854775807
байтов?
Я думаю, вы что-то неправильно поняли. Бит MASK доходит до поля длины, а поле длины равно 7, 7 + 16 или 7 + 64 бит в течение долгого времени. Мне также интересно, почему MSB из 64 бит (в случае с 7 + 64 бит) должен быть равен нулю. Может быть, для будущих расширений? Это все еще оставляет вас с 2 ** 63-1 байтами, но это 8388607 PiB максимальной длины полезной нагрузки для одного кадра. – Patrik