RPC中间件之Hessian
来源:互联网 发布:学生自杀数据 编辑:程序博客网 时间:2024/04/28 18:29
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
由于项目上使用PHP与JAVA,其中一些业务场景需要保持两者相互调用。
Hessian支持多语言,还有另外一个选择Twitter开源项目Thrift,这个后面的文章会记录。
两者的区别请自行google.
采用Hessian很大一部分原因是Java项目集成该组件,使用起来也比较方便,直接下载PHPHessianClient就能搞定。Java Web集成 hessian请点击链接。
1、Java服务端
/** * * 类描述: 远程服务方法调用 * @author junhua.zhou * * @version */public interface IDataService { public byte[] process(byte[] params) ; public String callProc(String params) ;}/** * * 类描述: 远程服务方法调用Imple * @author junhua.zhou * * @version */public class DataServiceImpl implements IDataService { public static final Log log = LogFactory.getLog(DataServiceImpl.class) ; @Override public byte[] process(byte[] params) { return null; } @Override public String callProc(String params) { System.out.println(params); return ""; }}
2、PHP客户端
①下载 HessianPHP_v2.0.3.zip
点击下载
<?php // test.php // 加载hessian client include(dirname(APP_PATH).'/lib/Common/Include/hessian/HessianClient.php'); // Java rpc server $testurl = 'http://localhost:8080/zqdkjob/rmi'; $proxy = new HessianClient($testurl); try{ $data = array( 'uid'=> '11' , 'type'=>'2' ) ; echo $proxy->callProc(json_encode($data)); } catch (Exception $ex){ // …handle error echo $ex->getMessage(); }
3、验证
php test.php
Java 打印结果 {“uid”:”11”,”type”:”2”} 表示联通成功
0 0
- RPC中间件之Hessian
- Hessian RPC实例
- hessian rpc使用实例
- Hessian 实现RPC调用
- 远程调用中间件(RPC)
- 【RPC框架Hessian一】Hessian RPC Hello World
- RPC中Hessian请求转发
- spring-http-Hessian-rpc示范
- hessian、rmi、dubbo与rpc
- spring-http-Hessian-rpc示范
- WebService之RPC的(Axis2、CXF、Jersey、Hessian)4中实现方式
- Java Spring RPC Hessian 学习笔记
- RMI,socket,rpc,hessian,http比较
- RMI,socket,rpc,hessian,http比较
- RPC实践(三)Hessian实践
- hessian构建RPC的两种方式
- PHP Hessian二进制RPC协议规范
- Hessian学习笔记之Hessian实例
- c++ 11 thread 初试
- kotlin 学习之 HelloWorld
- csdn我又回来了
- java生成图片验证码显示在页面上
- 将本地git管理的eclipse adt项目引入android studio
- RPC中间件之Hessian
- JAVA中的反射只获取属性的get方法
- PIC单片机的时钟模式
- 2015年需要了解的前端框架和语言
- JSP上传文件至服务器【1】
- 反射与正则表达式
- 【close】任务上下文对象长度超过128字节
- 一个社交App是如何构建高伸缩性的交互式系统
- oracle数据库--关于使用分组函数以及group by的注意点