hessian 在PHP中的使用

今天听同事说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(); 



?> 

服务器端结果

@D58XA@(R1KB8S3_18Q0BJ2


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

呵呵!看来试用成功了。

 

四、要注意的一些问题。

发现有个朋友使用的时候碰到的问题总结贴,很不错。

http://robinson.javaeye.com/blog/778979

你可能感兴趣的:(hessian)