2011-01-31 10 views
4

WebSocketを経由するメッセージは、いつも\x00で始まり、で終わります(\x00Your message\xffなど)。WebSocketの x00と xffの意味は?

+0

開始と終了のバイトとして0x00から0xFFのを使用して、もはやあなたはそれを他の方法で見ている可能性がありますか? (例:あなたのメッセージ\ xff \ x00) – Christian

+0

あなたのコメントをありがとう。 – Dustin

答えて

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.) 
0

私はこれについて100%確信していませんが、私の推測はメッセージの開始と終了を示すことです。 X00は0のシングルバイト表現であるとXFFは255