hessian 在PHP中的使用介绍

2015-01-24信息快讯网

今天听同事说hessian也可以以http的方式和其他的语言交换数据,一直用soap,看来是孤陋寡闻了。

一、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(); 
?> 

服务器端结果
hessian 在PHP中的使用介绍_信息快讯网
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

呵呵!看来试用成功了。

四、要注意的一些问题。
发现有个朋友使用的时候碰到的问题总结贴,很不错。
PHP中SESSION使用中的一点经验总结
PHP教程之PHP中shell脚本的使用方法分享
php木马webshell扫描器代码
php addslashes及其他清除空格的方法是不安全的
Trying to clone an uncloneable object of class Imagic的解决方法
Uncaught exception com_exception with message Failed to create COM object
php读取mysql乱码,用set names XXX解决的原理分享
php curl常见错误:SSL错误、bool(false)
用PHP写的基于Memcache的Queue实现代码
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
Session保存到数据库的php类分享
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
PHP与MySQL开发的8个技巧小结
php数据入库前清理 注意php intval与mysql的int取值范围不同
Notice: Undefined index: page in E:\PHP\test.php on line 14
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
理解php原理的opcodes(操作码)
php empty,isset,is_null判断比较(差异与异同)
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
php中去除所有js,html,css代码
windows中PHP5.2.14以及apache2.2.16安装配置方法第1/2页
PHPnow安装服务[apache_pn]失败的问题的解决方法
php header示例代码(推荐)
PHP下利用header()函数设置浏览器缓存的代码
PHP isset()与empty()的使用区别详解
利用Memcached在php下实现session机制 替换PHP的原生session支持
PHP+ACCESS 文章管理程序代码
php access 数据连接与读取保存编辑数据的实现代码
©2014-2024 dbsqp.com