b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

websocket客户端_websocket c客户端_websocket session id(3)

电脑杂谈  发布时间:2017-03-14 21:00:07  来源:网络整理

AE5904C5B15B3585A34118B0F55C138E.Y...[5..A...\..

924202848553.B...S

82

二进制为: 1000 0010, 最高位(FIN)为1, 表示这是最后一帧, 第一个帧也可能是最后一帧. 身后还有三位为预留. 低位四0010为操作码.

也就是0x02, 表示这是一个二进制帧, 0x01为文本帧.

B0

二进制为: 1011 0000, 最高位(MASK)为1, 表示当前帧的静荷数据部分使用了掩码, 事实上, rfc6455规定从客户端发往服务器端的数据帧

必需使用掩码, 反过来, 从服务器发回来的, 则必需不使用掩码. 低7位为静荷数据长度字段, 这里是011 0000, 也就是0x30, 从上面的报文上

看, 这个0x30没有包含后面的掩码.

6A F7 C6 30

掩码, 掩码总是四个字节.

0A D9 C6...一直到最后为经过掩码加工后的静荷数据. 要回到数据本来的面目, 使用下面的算法:

byteby[]=newbyte[]{0x82,0xB0,0x6A,0xF7,0xC6,0x30,0x0A....};

bytemask[]=newbyte[]{0x6A,(byte)0xF7,(byte)0xC6,0x30};

for(inti=6/*越过掩码.*/;i<by.length;i++)

by[i]=(byte)(by[i]^mask[(i-6)%4]);

得到的结果应该是:

82B06AF7C630602E0004BEEFBEF10402..j..0`.........

000006220A204970697856555A546B33..."..IpixVUZTk3

68696E32776B5F7265717247336C7979hin2wk_reqrG3lyy

547268734363TrhsCc

b). 一个从服务器发给客户端的小帧.

822961270104BEEFBEF105020000061B.)a'............

0A08553B02193935E244120F21ECB7..U;..95.D..!..G

02F3EC70ED5B7B07C7F4D0...p.[{....

更简单了, 还是82, 最后一帧, 二进制帧, 29, 0010 1001, 无掩码, 也就是身后全长为0x29.

c). 未使用掩码的中帧.

81 7E 01 00 66 77 88 ..., 帧长为 0x0100, 也就是256个字节.

d). 未使用掩码的大帧.

82 7F 00 00 00 00 11 22 33 44 66 77 88 ..., 帧长为0x0000000011223344, 直接跳过4字节, 而使用8字节来表示长度, 非常.

这里需要注意的是, websocket要求使用最小帧原则, 也就是静荷数据长度小于0x7E帧, 不能使用中帧或大帧的来表示. 长度小于

0x10000的帧也不能用大帧来表示.


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-37527-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...