java各种协议相关(杂)
来源:互联网 发布:淘宝订单延长收货几天 编辑:程序博客网 时间:2024/05/03 20:30
首先先说Hessian是什么?
Hessian:hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能,相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用了二进制协议,所以它很适合于发送二进制数据,Hessian主要作面向对象的消息通信。Hessian的初衷就是支持动态类型,格式紧凑,跨语言Hessian是使用自己的序列化机制实现的编组和反编组,其支持的数据类型是有限制的,不支持复杂的对象,可以穿透防火墙,在这里不得不说一下RMI:RMI是一组用户开发分布式应用程序的API。他使用的是java序列化机制实现调用及返回值的编组于反编组。它使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。他可以被看做是RPC的Java版本,因为传统的RPC并不能很好的应用于分布式对象系统。而Java RMI则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。他也有它的缺点,他只能通过RMI协议来进行访问无法通过HTTP协议访问,无法穿透防火墙。
java RIM:
服务器端提供服务,服务中要暴露可以调用的远程方法,以接口的形式表现,这样在客户端可以通过服务接口来调用远程方法,实现复杂的业务逻辑。在服务器端,首先要对接口中提供的方法实现,以便客户端调用能够完成一定的业务逻辑;接着需要生成Skeleton,在Skeleton中真正地实现了对商业方法的调用,完成了客户请求的调用的过程,将获取到的调用方法的结果通过序列化机制返回给客户端,进行应答。在客户端,通过Stub来接收服务器返回的数据(对象),即在这里进行了反序列化,也就是读取网络传输的字节流,进而进行重构。在Skeleton和Stub中,都对网络通信进行了处理,例如建立套接字,建立网络连接,为实际的业务需要做好准备。
可见,客户端并没有真正地执行与服务器端组件进行直接交互。
这里,有个重要的概念,就是Java对象序列化机制。序列化,就是将对象写入流,以便能够在网络上传输对象,它是输出端执行的。反序列化,也就是在接收端,为了能够获取传输的对象,需要将对象传输而来的字节流进行重构,重新得到完整的该对象。Java对象序列化的过程,是对已有的类的实例进行序列化,首先要存在一个具体的实例。
http://benx.iteye.com/blog/680293(一个简单的实例)
0 0
- java各种协议相关(杂)
- 各种网络相关的协议
- Java中Date各种相关用法(一)
- Android各种知识图(5):Java相关
- Java中Date各种相关用法
- JAVA各种相关JAR包下载地址
- Java中Date各种相关用法
- Java中Date各种相关用法
- Java中Date各种相关用法
- Java中Date各种相关用法
- Java中Date各种相关用法
- 各种协议
- java相关网络协议无响应
- HLS协议及java切片相关
- HLS协议及java切片相关
- 网站相关(协议,RESTful)
- java相关集合和java各种集合的线程安全
- 相关协议
- 牛人对STM32的NVIC_PriorityGroupConfig使用及优先级分组方式理解
- c++ 一个简单的ADO连接 SQLServer 类
- 以re开头的单词
- power designer里怎样指定auto_increment及初始值(mysql数据库)
- 串口调试小节之二 串口通讯原理
- java各种协议相关(杂)
- 联想笔记本电脑回收站清空的文件还能找回吗
- Delphi入门知识链接数据库(不喜勿喷,高手求赐教)
- 神经网络和BP算法C及python代码
- spring与mybatis四种整合方法
- Qt Creator 窗体控件自适应窗口大小布局
- 九度OJ-题目1523:从上往下打印二叉树
- 在唯一密钥属性“value”设置为“login.aspx”时,无法添加类型为“add”的重复集合项
- 基于GO语言最简单的HTTP服务器