Websockets中\ x00和\ xff的含义是什么?

时间:2011-01-31 00:54:16

标签: formatting message websocket

为什么通过websockets传递的邮件始终以\x00开头,以\xff结尾,如\x00Your message\xff所示?

3 个答案:

答案 0 :(得分:3)

documentation可能会有所帮助......

摘自第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.)

答案 1 :(得分:2)

工作规范已更改,不再使用0x00和0xFF作为开始和结束字节

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

答案 2 :(得分:0)

我对此并不是100%肯定,但我的猜测是表示信息的开头和结尾。由于x00是0的单字节表示,xFF是255

的单字节表示