今天听同事说hessian也能够以http的方式和其余的语言交换数据,一直用soap,看来是孤陋寡闻了。php
1、hessian是什么?服务器
看到这个单词我还不知道怎么读,音标是[hes]读黑森。app
Hessian是一个轻量级的远程的数据交换工具,使用简单的方法提供了RMI(远程方法调用)的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,由于采用的是二进制协议,因此它很适合于发送二进制数据工具
hessian是独立于语言的。ui
2、在PHP中怎么用的呢?url
你是否是认为这个和soap同样在php.ini中开启一个就能够使用了,我也这么认为的。可spa
是我要告诉你的是这样的想法是错误的。.net
须要去下载一个HessianPHP的库来使用。下载地址http://hessianphp.sourceforge.net/code
3、看看怎么使用。blog
一、服务器端。
<?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();
?>
服务器端结果
二、客户端
<?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
呵呵!看来试用成功了。
4、要注意的一些问题。
发现有个朋友使用的时候碰到的问题总结贴,很不错。