<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhhx310的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zhhx310</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zhhx310]]></copyright><item><title><![CDATA[Effective C++读书笔记——（一）Prefer consts, enums, and inlines to #defines]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/23927861</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/23927861</guid><author>zhhx310</author><pubDate>Thu, 17 Apr 2014 14:15:36 +0800</pubDate><description><![CDATA[const与to #define的不同之处和const的优势]]></description><category></category></item><item><title><![CDATA[Live555 Streaming Media学习（一）——openRTSP分析]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/19481331</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/19481331</guid><author>zhhx310</author><pubDate>Wed, 19 Feb 2014 11:48:08 +0800</pubDate><description><![CDATA[live555是一个开源的流媒体库，支持RTP/RTCP，RTSP，SIP。它提供了一套可供开发调用的库，同时还提供了很多例子，在testProgs文件夹下。开发人员只需要依葫芦画瓢，就可以写出自己的代码。要想学习live555的代码，最好也以这些例子为入口，去分析live555的代码结构。
本文就分析下openRTSP这个例子。在切入主题之前，有一些基础知识需要准备。
select()
s]]></description><category></category></item><item><title><![CDATA[我的2013]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/18706241</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/18706241</guid><author>zhhx310</author><pubDate>Thu, 23 Jan 2014 17:20:11 +0800</pubDate><description><![CDATA[记得参加工作第一年写了一篇总结，当时还跟自己约定，每年都要总结一下。如今一晃三年过去了，写过的仍然只有那一篇。感慨这一年年都是怎么度过的，没有只言片语的记录，如今竟然想不起生活的内容了。
细想2013，起起伏伏，最终圆满结局。
生活上，现在的我很满足。年头的伤心和不顺利，都像电视剧中的情节。从来没有想过这种事情会发生在自己头上。熬过了那一段失望的时光，我终于看到幸福的大门向我们敞开。真心想对乔]]></description><category></category></item><item><title><![CDATA[HTTP/1.1组块（chunked）传输编码实验]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/9345301</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/9345301</guid><author>zhhx310</author><pubDate>Tue, 16 Jul 2013 17:35:03 +0800</pubDate><description><![CDATA[原文链接： http://www.redicecn.com/plus/view.php?aid=356
保存下来以后看。]]></description><category></category></item><item><title><![CDATA[SSL]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/9303177</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/9303177</guid><author>zhhx310</author><pubDate>Thu, 11 Jul 2013 18:17:11 +0800</pubDate><description><![CDATA[SSL
secure socket layer
一种介于应用层和传输层之间的安全的传输协议。
SSL的主要特征是：
1. 数据加密
2. 身份验证
3. 消息完整性验证
SSL中加密包括对称和非对称加密算法，相比较而言，对称算法运算速度更快一些。所以，SSL通信中一些比较小而且重要的数据都是通过非对称算法做的，比如密钥交换。而普通的大数据是通过非对称算法加密的。在消息完整性验证中的M]]></description><category></category></item><item><title><![CDATA[http请求]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/9049403</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/9049403</guid><author>zhhx310</author><pubDate>Fri, 07 Jun 2013 17:15:38 +0800</pubDate><description><![CDATA[HTTP请求类型包括GET, POST, PUT和PUT。HTTP请求的报文格式为：




GET和POST的区别为：GET请求中，数据是放在中。而POST请求中，数据是放在中。也就是说，如果是GET请求，用户发送的数据会显示在浏览器的网址栏里面，POST请求则不会。所以POST请求比GET请求更安全一些。
 
HTTP响应报文的格式为：



[]
所谓的状态码（200]]></description><category></category></item><item><title><![CDATA[多线程和网络编程实践——LittleTom]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/9041231</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/9041231</guid><author>zhhx310</author><pubDate>Thu, 06 Jun 2013 18:24:03 +0800</pubDate><description><![CDATA[这两天写了一个小应用，实现基本的聊天功能。该应用既是客户端也是服务器，不要求某一方先发起连接请求。但同一时间仅能两个ip互相传输数据。用上了最近学的多线程和网络编程相关知识。先贴上初稿，还有问题，以后有空再琢磨琢磨。
两个类：LittleTom.class, TalkThread.class
1. LittleTom.java
import java.io.*;
import java.ne]]></description><category></category></item><item><title><![CDATA[android layout_weight相关]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/8732207</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/8732207</guid><author>zhhx310</author><pubDate>Thu, 28 Mar 2013 16:35:27 +0800</pubDate><description><![CDATA[转自 
http://qianxuechao.blog.163.com/blog/static/91813499201172353244517/
很好的关于layout_weight的解释]]></description><category></category></item><item><title><![CDATA[http header详解]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/8601620</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/8601620</guid><author>zhhx310</author><pubDate>Fri, 22 Feb 2013 10:54:08 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/lexus/archive/2012/02/21/2360944.html]]></description><category></category></item><item><title><![CDATA[virtual关键字与多态]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/7891895</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/7891895</guid><author>zhhx310</author><pubDate>Tue, 21 Aug 2012 16:17:03 +0800</pubDate><description><![CDATA[今天在网上看到这么一段博文（以下蓝色为引用）：

一，  什么是虚函数（如果不知道虚函数为何物，但有急切的想知道，那你就应该从这里开始）

简单地说，那些被virtual关键字修饰的成员函数，就是虚函数。虚函数的作用，用专业术语来解释就是实现多态性（Polymorphism），多态性是将接口与实现进行分离；用形象的语言来解释就是实现以共同的方法，但因个体差异而采用不同的策略。下面来看一段简单的]]></description><category></category></item><item><title><![CDATA[邮件收发协议相关]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/7844161</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/7844161</guid><author>zhhx310</author><pubDate>Wed, 08 Aug 2012 16:49:06 +0800</pubDate><description><![CDATA[SMTP：
http://www.5dmail.net/html/2004-2-3/200423200710.htm

POP和IMAP:
http://www.5dmail.net/html/2010-10-14/20101014221009.htm

一句话：大学的网络技术基础课白学了！要好好补补。]]></description><category></category></item><item><title><![CDATA[职责链模式]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/7819104</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/7819104</guid><author>zhhx310</author><pubDate>Wed, 01 Aug 2012 16:34:25 +0800</pubDate><description><![CDATA[今天学习了职责链模式，挺有意思。这个模式的要点主要有两点（摘录书中原话）：

1. 需要给每个具体管理者设置他的上司是哪个类，也就是设置后继者。
2. 需要在每个具体管理者处理请求时，做出判断，是可以处理这个请求，还是需要“推销责任”，转移给后继者去处理。]]></description><category></category></item><item><title><![CDATA[java中的反射]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/7815210</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/7815210</guid><author>zhhx310</author><pubDate>Tue, 31 Jul 2012 17:20:51 +0800</pubDate><description><![CDATA[今天学习了下反射，记录下给自己启发的链接：
http://www.blogjava.net/amigoxie/archive/2007/04/21/112421.html

http://hejianjie.iteye.com/blog/136205]]></description><category></category></item><item><title><![CDATA[组合模式]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/7733468</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/7733468</guid><author>zhhx310</author><pubDate>Tue, 10 Jul 2012 17:01:30 +0800</pubDate><description><![CDATA[今天学习了组合模式。 个人理解，就是在一个层级系统中，忽略某一个组件是作为枝节点还是叶节点出现，统一地为他们抽象出一个接口，实现所有类的默认行为。然后枝节点和叶节点分别继承这个类，实现各自的功能。 这些默认行为包括Add(), Remove(), LineOffDuty() 等。 这样在使用枝节点和叶节点组合成更复杂的系统时，就可以省去许多的判断语句，把所有的组件统一地对待。 引用书中的原话就是“]]></description><category></category></item><item><title><![CDATA[java单例模式]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/7387933</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/7387933</guid><author>zhhx310</author><pubDate>Fri, 23 Mar 2012 16:55:25 +0800</pubDate><description><![CDATA[今天学了一下java中的单例模式。
最简单、成熟的单例模式是这么设计的：
public class Singleton { 
   public final static Singleton INSTANCE = new Singleton(); 
   private Singleton() { 
         // Exists only to defeat instantiat]]></description><category></category></item><item><title><![CDATA[Bluetooth 和 hotspot、wifi相关]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/7067786</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/7067786</guid><author>zhhx310</author><pubDate>Wed, 14 Dec 2011 17:35:21 +0800</pubDate><description><![CDATA[打开hotspot: 

http://efreedom.com/Question/1-7048922/Android-23-Wifi-Hotspot-API
关于wifi的开启关闭与连接热点

http://www.eoeandroid.com/thread-95432-1-1.html

Android Bluetooth编程
http://blog.youkuaiyun.com/yuej]]></description><category></category></item><item><title><![CDATA[AIDL service 和Messager]]></title><link>https://blog.youkuaiyun.com/zhhx310/article/details/7041116</link><guid>https://blog.youkuaiyun.com/zhhx310/article/details/7041116</guid><author>zhhx310</author><pubDate>Mon, 05 Dec 2011 10:18:10 +0800</pubDate><description><![CDATA[使用AIDL实现Service和其他进程之间的通信：

http://book.51cto.com/art/201006/207070.htm
创建AIDL的过程比较复杂，使用AIDL传递复杂数据更要复杂一点。

两个进程之间的通信，除了AIDL之外，还可以使用Messager
http://xwangly.iteye.com/blog/1109424]]></description><category></category></item></channel></rss>