今天聽同事說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、要注意的一些問題。
發現有個朋友使用的時候碰到的問題總結貼,很不錯。