WebSocket(四) —— 传输图片

前文解析数据帧中图,

 

现在再看左上角上面的图标,左上角的四个小列,也就是4位,第一位是FIN,后面三位是RSV1到3。官方文档上说RSV是预留的空间,正常为0,这就意味着,正常情况下他们可以当做0填充,那么前4位只有第一位的FIN需要设置,FIN表示帧结束,由于这篇中它不重要就不特别介绍了。接着后面的四位是储存opcode的值,这个opcode是标识数据类型的。这样数据的第一个字节我们就能理解它的含义了,看上面16进制的数据的第一个字节81换成二进制是1000001,第一个1是FIN的值,最后一个1是opcode的值。

 

Opcode是用来确定传输数据类型的。具体如下:

可以看出,1为传输文本,2为传输二进制(可以用来传输图片)。

第一个字节0x81 (10000001/129)为文本

第一个字节0x82 (10000010/130)为二进制

根据opcode改写frame函数:

 

现在进行测试:

 

2014-06-30_154151

 

 

同理也可以传输音频文件。

 

 

 

 

参考链接:

http://my.oschina.net/u/1187419/blog/281974?p=%7B%7BcurrentPage+1%7D%7D

http://www.web-tinker.com/article/20309.html