天天看点

Hessian初步理解

一:远程协议通讯的基本原理

网络通信将流从一台计算机传输到另外一台计算机 基于传输协议和网络IO 传输协议:http,tcp,udp   基于Socket概念上为某类应用场景而扩展出的传输协议 网络IO:bio,nio.aio  所有的分布式应用通信基于这个原理

为了应用的易用,各种语言通常都会提供一些更为贴近应用易用的应用层协议

二:应用层协议 Binary-RPC

是一种和RMI类似的远程调用协议,它和RMI的不同之处在于它以标准的二进制格式来定义请求的信息,包括(请求的对象,方法,参数等) 跨语言通讯的时候也可以用到

1.客户端发起请求,按照Binary-RPC协议请求信息进行填充 2.填充完毕后将二进制文件转化为流,通过传输协议进行传输 3.在接收到流后转换为二进制格式文件,按照Binary-RPC获取请求的信息并进行处理 4.处理完毕后将结果按照Binary-RPC协议写入二进制格式文件并返回

问题总结: 1.传输的标准格式是? 传输的标准格式是二进制文件

2.怎么样将请求转化为传输的流? 将二进制格式文件转化为流

3.怎样接收和处理流? 通过监听的端口获取到请求的流,转化为二进制文件,根据协议获取请求的的信息,进行处理并将结果写入XML中返回

4.传输的协议是 http

Hessian  一种实现远程通讯的library 是由caucho提供的一个基于binary-RPC实现的远程通讯library

1.是基于什么协议实现的 基于Binary-RPC协议实现的

2.怎么发起请求 通过Hessian本身提供的API来发起请求

3.怎么将请求转化为符合协议的格式的? Hessian通过其自定义的串行化机制将请求信息进行序列化,产生二进制流

4.使用什么传输协议传输 Hessian基于Http协议进行传输

5.响应端基于什么机制来接收请求? 响应端根据Hessian提供的API来接收请求

6.怎样将流还原为传输格式的? Hessian根据其私有的串行化机制来将请求信息进行反序列化,传递给使用者时已是相应的请求信息对象了

7.处理完毕后怎么响应? 处理完毕后直接返回,hessian将结果对象进行序列化,传输至调用端