hessian 在PHP中的使用介紹
更新時(shí)間:2010年12月13日 15:02:24 作者:
今天聽(tīng)同事說(shuō)hessian也可以以http的方式和其他的語(yǔ)言交換數(shù)據(jù),一直用soap,看來(lái)是孤陋寡聞了。
一、hessian是什么?
看到這個(gè)單詞我還不知道怎么讀,音標(biāo)是[hes]讀黑森。
Hessian是一個(gè)輕量級(jí)的遠(yuǎn)程的數(shù)據(jù)交換工具,使用簡(jiǎn)單的方法提供了RMI(遠(yuǎn)程方法調(diào)用)的功能. 相比WebService,Hessian更簡(jiǎn)單、快捷。采用的是二進(jìn)制RPC協(xié)議,因?yàn)椴捎玫氖嵌M(jìn)制協(xié)議,所以它很適合于發(fā)送二進(jìn)制數(shù)據(jù)
hessian是獨(dú)立于語(yǔ)言的。
二、在PHP中怎么用的呢?
你是不是認(rèn)為這個(gè)和soap一樣在php.ini中開(kāi)啟一個(gè)就可以使用了,我也這么認(rèn)為的。可
是我要告訴你的是這樣的想法是錯(cuò)誤的。
需要去下載一個(gè)HessianPHP的庫(kù)來(lái)使用。
下載地址http://hessianphp.sourceforge.net/
三、看看怎么使用。
1、服務(wù)器端。
<?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();
?>
服務(wù)器端結(jié)果

2、客戶(hù)端
<?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結(jié)果
8
呵呵!看來(lái)試用成功了。
四、要注意的一些問(wèn)題。
發(fā)現(xiàn)有個(gè)朋友使用的時(shí)候碰到的問(wèn)題總結(jié)貼,很不錯(cuò)。
看到這個(gè)單詞我還不知道怎么讀,音標(biāo)是[hes]讀黑森。
Hessian是一個(gè)輕量級(jí)的遠(yuǎn)程的數(shù)據(jù)交換工具,使用簡(jiǎn)單的方法提供了RMI(遠(yuǎn)程方法調(diào)用)的功能. 相比WebService,Hessian更簡(jiǎn)單、快捷。采用的是二進(jìn)制RPC協(xié)議,因?yàn)椴捎玫氖嵌M(jìn)制協(xié)議,所以它很適合于發(fā)送二進(jìn)制數(shù)據(jù)
hessian是獨(dú)立于語(yǔ)言的。
二、在PHP中怎么用的呢?
你是不是認(rèn)為這個(gè)和soap一樣在php.ini中開(kāi)啟一個(gè)就可以使用了,我也這么認(rèn)為的。可
是我要告訴你的是這樣的想法是錯(cuò)誤的。
需要去下載一個(gè)HessianPHP的庫(kù)來(lái)使用。
下載地址http://hessianphp.sourceforge.net/
三、看看怎么使用。
1、服務(wù)器端。
復(fù)制代碼 代碼如下:
<?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();
?>
服務(wù)器端結(jié)果

2、客戶(hù)端
復(fù)制代碼 代碼如下:
<?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結(jié)果
8
呵呵!看來(lái)試用成功了。
四、要注意的一些問(wèn)題。
發(fā)現(xiàn)有個(gè)朋友使用的時(shí)候碰到的問(wèn)題總結(jié)貼,很不錯(cuò)。
相關(guān)文章
php使用curl代理實(shí)現(xiàn)抓取數(shù)據(jù)的方法
這篇文章主要介紹了php使用curl代理實(shí)現(xiàn)抓取數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了php使用curl實(shí)現(xiàn)代理抓取數(shù)據(jù)的操作技巧,需要的朋友可以參考下2017-02-02
PHP5.0~5.6 各版本兼容性cURL文件上傳功能實(shí)例分析
這篇文章主要介紹了PHP5.0~5.6 各版本兼容性cURL文件上傳功能,結(jié)合實(shí)例形式分析了php各個(gè)常見(jiàn)版本進(jìn)行curl文件上傳操作的相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2018-05-05
php中error與exception的區(qū)別及應(yīng)用
這篇文章主要介紹了php中error與exception的區(qū)別及應(yīng)用,需要的朋友可以參考下2014-07-07

