2011-01-31 32 views
4

爲什麼通過websocket的郵件始終以\x00開頭,並以\xff結尾,如\x00Your message\xffWebsockets中 x00和 xff的含義是什麼?

+0

我不知道,但大多數弦系統,在那裏一重新null終止,null是一個\ x00,你可能會看到它相反嗎? (即:您的訊息\ xff \ x00) – Christian 2011-01-31 01:07:56

回答

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