很多时候,比如在描述WebSocket图这里的网站上,我看到“框架”图(至少我认为它们是这样的),如下所示:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-------+-+-------------+-------------------------------+
|F|R|R|R| opcode|M| Payload len | Extended payload length |
|I|S|S|S| (4) |A| (7) | (16/63) |
|N|V|V|V| |S| | (if payload len==126/127) |
| |1|2|3| |K| | |
+-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - +
| Extended payload length continued, if payload len == 127 |
+ - - - - - - - - - - - - - - - +-------------------------------+
| |Masking-key, if MASK set to 1 |
+-------------------------------+-------------------------------+
| Masking-key (continued) | Payload Data |
+-------------------------------- - - - - - - - - - - - - - - - +
: Payload Data continued ... :
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
| Payload Data continued ... |
+---------------------------------------------------------------+有人能给我解释一下怎么读这样的图表吗?我的解释是,顶部的0 1 2 3将是到达数据包的字节,而0-9重复将是单独的位。但是,这是没有意义的,因为一个字节中只有8位。
此外:
fin rsv opcode和mask是什么?Payload Data。发布于 2016-01-08 12:30:07
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1手段
| 1st byte | 2nd byte | 3rd byte | 4th byte |
+-----------------+-----------------+-----------------+-----------------+
| 0 0 0 0 0 0 0 0 | 0 0 1 1 1 1 1 1 | 1 1 1 1 2 2 2 2 | 2 2 2 2 2 2 3 3 |
| 0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 | 4 5 6 7 8 9 0 1 |也就是说,表宽为32位(= 4字节).
关于fin、rsv、opcode和mask的描述就写在您摘自RFC 6455的表之后。
Payload Data是一个字节数组。它是特定于应用程序的数据。
该表表示一个框架的结构。消息由一个帧或多个帧组成。
https://stackoverflow.com/questions/34648898
复制相似问题