2)Record接口
Record是zookeepr底层通信数据序列化与反序列化统一接口
1. 继承结构
![](http://img.blog.csdn.net/20150511202023082?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXVob25nd2VpX3poYW5xaXU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
子类以Request结尾的是Client向Server发起请求
子类以Response结尾的是Server向Client发起响应
子类以Txn结尾是Server向Server发起事务请求的
子类以Packet结尾是…???
其他如Id, ACL往往被其他对象持有,不会单独在网络传输
2. 举例
1)CreateRequest: 用于在客户端创建一个节点时向服务器端发送的请求
![](http://img.blog.csdn.net/20150511202445384?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXVob25nd2VpX3poYW5xaXU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
序列化CreateRequest,
archive对象是对DataOutput封装,顺序的将数据写入到DataOutputStream输出流中去
![](http://img.blog.csdn.net/20150511202540187?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXVob25nd2VpX3poYW5xaXU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
反序列化CreateRequest,
archive对象是对DataInput封装,顺序的从DataInputStream输入流中中读取数据 |