Websocket是HTML5中的一个数据传输控件。
目前在主流的浏览器中都提供了支持。
关于websocket的相关协议可以在网上查到,关于如何建立连接等操作大家可以查询协议获得,本文主要讨论如何进行数据传输。
在客户端使用的是Chrome浏览器,在服务器端使用PHP开发websocket协议。
Websocket协议一个frame的标准格式:
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/64) |
|N|V|V|V| |S| | (if payload len==126/127) |
| |1|2|3| |K| | |
+-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - +
| Extended payload lengthcontinued, if payload len == 127 |
+ - - - - - - - - - - - - - - - +-------------------------------+
| |Masking-key, if MASK set to 1 |
+-------------------------------+-------------------------------+
| Masking-key (continued) | Payload Data |
+-------------------------------- - - - - - - - - - - - - - - - +