Что означает \ x00 и \ xff в Websockets? - PullRequest
4 голосов
/ 31 января 2011

Почему сообщения, проходящие через веб-сокеты, всегда начинаются с \x00 и заканчиваются \xff, как в \x00Your message\xff?

Ответы [ 3 ]

3 голосов
/ 31 января 2011

Эта документация может помочь ...

Выдержка из раздела 1.2: -

   Data is sent in the form of UTF-8 text.  Each frame of data starts
   with a 0x00 byte and ends with a 0xFF byte, with the UTF-8 text in
   between.

   The WebSocket protocol uses this framing so that specifications that
   use the WebSocket protocol can expose such connections using an
   event-based mechanism instead of requiring users of those
   specifications to implement buffering and piecing together of
   messages manually.

   To close the connection cleanly, a frame consisting of just a 0xFF
   byte followed by a 0x00 byte is sent from one peer to ask that the
   other peer close the connection.

   The protocol is designed to support other frame types in future.
   Instead of the 0x00 and 0xFF bytes, other bytes might in future be
   defined.  Frames denoted by bytes that do not have the high bit set
   (0x00 to 0x7F) are treated as a stream of bytes terminated by 0xFF.
   Frames denoted by bytes that have the high bit set (0x80 to 0xFF)
   have a leading length indicator, which is encoded as a series of
   7-bit bytes stored in octets with the 8th bit being set for all but
   the last byte.  The remainder of the frame is then as much data as
   was specified.  (The closing handshake contains no data and therefore
   has a length byte of 0x00.)
2 голосов
/ 02 февраля 2011

Рабочая спецификация изменилась и больше не использует 0x00 и 0xFF как начальный и конечный байты

http://tools.ietf.org/id/draft-ietf-hybi-thewebsocketprotocol-04.html

0 голосов
/ 31 января 2011

Я не уверен на 100% в этом, но думаю, что это будет означать начало и конец сообщения.Поскольку x00 является однобайтовым представлением 0, а xFF является однобайтовым представлением 255

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...