hessian 在PHP中的使用介绍

一、hessian是什么?
看到这个单词我还不知道怎么读,音标是[hes]读黑森。
Hessian是一个轻量级的远程的数据交换工具,使用简单的方法提供了RMI(远程方法调用)的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据
hessian是独立于语言的。
二、在PHP中怎么用的呢?
你是不是认为这个和soap一样在php.ini中开启一个就可以使用了,我也这么认为的。可
是我要告诉你的是这样的想法是错误的。
需要去下载一个HessianPHP的库来使用。
下载地址http://hessianphp.sourceforge.net/
三、看看怎么使用。
1、服务器端。


代码如下:

<?php
include_once('HessianPHP/dist/HessianService.php');
class HelloWorldService
{
public function __construct()
{
}
public function add($a, $b)
{
return $a+$b;
}
}
$wrapper = new HessianService();
$wrapper->registerObject(new HelloWorldService);
$wrapper->displayInfo = true;
$wrapper->service();
?>

服务器端结果

2、客户端


代码如下:

<?php
require_once 'HessianPHP/dist/HessianClient.php';
Hessian::errorReporting(HESSIAN_SILENT);
$url = 'http://localhost/info.php';
$proxy = & new HessianClient($url);
$sum = $proxy->add(3, 5);
echo $sum;
if(Hessian::error()) {
$errors = Hessian::error();
print_r($erros->message);
//var_dump($errors);
}
?>

client结果
8

呵呵!看来试用成功了。

四、要注意的一些问题。
发现有个朋友使用的时候碰到的问题总结贴,很不错。

(0)

相关推荐

  • hessian 在PHP中的使用介绍

    一.hessian是什么? 看到这个单词我还不知道怎么读,音标是[hes]读黑森. Hessian是一个轻量级的远程的数据交换工具,使用简单的方法提供了RMI(远程方法调用)的功能. 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据 hessian是独立于语言的. 二.在PHP中怎么用的呢? 你是不是认为这个和soap一样在php.ini中开启一个就可以使用了,我也这么认为的.可 是我要告诉你的是这样的想法是错误

  • java 中的封装介绍及使用方法

    java 中的封装介绍及使用方法 在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问. 要访问该类的代码和数据,必须通过严格的接口控制. 封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段. 适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性. 封装的优点 1. 良好的封装能够减少耦合. 2. 类内部

  • Java 中的 BufferedReader 介绍_动力节点Java学院整理

    BufferedReader 介绍 BufferedReader 是缓冲字符输入流.它继承于Reader. BufferedReader 的作用是为其他字符输入流添加一些缓冲功能. BufferedReader 函数列表 BufferedReader(Reader in) BufferedReader(Reader in, int size) void close() void mark(int markLimit) boolean markSupported() int read() int

  • oracle中where 子句和having子句中的区别介绍

    1.where 不能放在GROUP BY 后面 2.HAVING 是跟GROUP BY 连在一起用的,放在GROUP BY 后面,此时的作用相当于WHERE 3.WHERE 后面的条件中不能有聚集函数,比如SUM(),AVG()等,而HAVING 可以 Where和Having都是对查询结果的一种筛选,说的书面点就是设定条件的语句.下面分别说明其用法和异同点. 注:本文使用字段为oracle数据库中默认用户scott下面的emp表,sal代表员工工资,deptno代表部门编号. 一.聚合函数 说

  • Java中Arrays的介绍及使用方法示例

    arrays介绍 java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态的方法,用来实现数组常见的操作. public static String toString(数组):将参数数组编程字符串(按照默认的格式:{元素1.元素2.元素3-}) public static Void sort(数组):按照默认升序(从小到大)对数组元素进行排序 备注: 1.如果是数值的话,sort默认按照升序从小到大 2.如果是字符串,sort按照字母升序排列 3.如果是自定义类型,那么自定

  • Vue filter 过滤器、以及在table中的使用介绍

    使用方法: // 双花括号中 {{ isActive | isActiveFitlter}} // 在v-bind 中 <div v-bind:id=" isActive | isActiveFitlter"></div> 一.组件中定义本地 Filter filters:{ isActiveFitlter : (value)=>{ return value===1?'激活':'冻结' } } 二.创建Vue实例前定义全局过滤器 Vue.filter('i

  • 有关Java中的BeanInfo介绍

    目录 1.JavaBean介绍 2.JavaBean的自省 3.JavaBean内省工具Introspector 4.JavaBean内省结果BeanInfo 5.内省结果BeanInfo的类型 6.Spring的BeanUtils.copyProperties 7.BeanUtils并发问题优化 8.BeanUtils Setter属性识别优化 9.BeanUtils 性能测试 1.JavaBean介绍 维基百科JavaBean的定义:JavaBeans是Java中一种特殊的类,可以将多个对象

  • vue中install方法介绍

    目录 1.全局注册组件 2.全局自定义指令 vue提供install可供我们开发新的插件及全局注册组件等 install方法第一个参数是vue的构造器,第二个参数是可选的选项对象 export default { install(Vue,option){ 组件 指令 混入 挂载vue原型 } } 1.全局注册组件 import PageTools from '@/components/PageTools/pageTools.vue' import update from './update/in

  • Vue中props用法介绍

    ​前言: 在Vue中通过props,可以将原本孤立的组件串联起来,也就是可以子组件可以接收父组件传递过来的data,比如子组件想要引用父组件的数据,那么在props里面声明一个变量,这个变量就可以引用父元素的数据. 实例演示: 子组件: <template> <div> <h3>我是{{name}},今年{{age}}岁,爱好:{{hobby}}</h3>,{{flag}} </div> </template> <script&

  • Java 中的抽象介绍

    目录 1.抽象类和抽象方法 2.何时在示例中使用抽象类和抽象方法 3.封装与数据抽象 4.抽象的优点 前言: 数据抽象是一种仅向用户显示基本细节的属性.不向用户显示琐碎或非必需的单元.例如:汽车被视为汽车而不是其单个组件. 数据抽象也可以定义为仅识别对象所需特征而忽略不相关细节的过程.对象的属性和行为将其与其他类似类型的对象区分开来,也有助于对对象进行分类/分组. 考虑一个男人开车的真实例子.男人只知道踩油门会提高车速或踩刹车会停车,但他不知道踩油门车速实际上是如何增加的,他不知道汽车的内部机制

随机推荐