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

WebSocket(三) —— 生成数据帧

接收消息时需要解析数据帧,发送消息时一样需要生成数据帧。

方法如下:

返回数据:

html:

2014-06-29_155655

 

参考地址:

http://www.cnblogs.com/hustskyking/p/websocket-with-php.html

WebSocket(二) —— 解析数据帧

当握手成功后,客户端向服务端发起数据是使用了特定格式的数据帧,所得内容不能直接阅读理解,所以需要解析。

服务端握手后,打印数据结果如下:

2014-06-28_224334

这就是一个完整的数据帧,直接的16进制数据我们当然无法直接阅读,需要按照数据帧的格式把它里面的数据取出来才行。对于这个数据帧,官方文档提供了一个结构图

解析方法如下:

使用解析函数后得到,如下:

2014-06-28_225041 2014-06-28_225049

 

参考链接:

http://www.cnblogs.com/hustskyking/p/websocket-with-php.html

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

websocket(一) —— 握手链接

 

 

 

参考链接:

http://www.cnblogs.com/hustskyking/p/websocket-with-php.html

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

Android入门(一) —— 环境搭建

Android开发环境搭建

一共分为四步:

  1. JDK( Java Development Kit )
  2. Eclipse
  3. Android SDK( Software Development Kit )
  4. ADT ( Android Development Tools )

 

其实来说,如果安装Android Studio的话,只需要2步。因为Android Studio已经把除了安装JDK之外的步骤,都集成在一起了。

 

一、安装JDK

进入oracle官网下载JDK

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html?ssSourceSiteId=otncn

下载完成后,选择路径安装。

安装完成后,进行系统变量配置。

  1. 设置JAVA_HOME(D:\Program Files\Java\jdk1.8.0_05)
  2. 设置CLASSPATH(.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\bin;)
  3. 设置PATH(%JAVA_HOME%\jre\bin;)

2014-06-26_231048 2014-06-26_231304 2014-06-26_231331

 

 

 

 

配置完成后,在cmd命令行中输入java -version即可看到java信息。

2014-06-26_231708

二、安装Android Studio

进入网站下载安装包。

http://android-studio.org/

下载完成后安装。

安装完成后创建按项目,即可配置运行虚拟机。

2014-06-26_231950 2014-06-26_232144

高版本CURL 抓取 https/tls1.0时的问题。

高版本CURL抓起HTTPS/TLS1.0是会报错,如下:

Unknown SSL protocol error in connection to query.unionpaysecure.com:443

代码如下:

原因是高版本的CURL不兼容TLS1.0。

解决方法:

设置CURL的SSL的加密算法列表。CURLOPT_SSL_CIPHER_LIST

代码如下

 

参考链接:

http://willbradley.name/2012/10/03/workaround-for-php-error-in-ubuntu-12-04-soapclient-ssl-crypto-enabling-timeout/

http://cn2.php.net/manual/zh/function.curl-setopt.php#Hcom114958

绝对定位布局

测试连接:http://test.iter-cc.com/absolute_layout.html

nginx 配置禁止访问目录或文件