hessian 在PHP中的使用

今天聽同事說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(); 

?>

服務器端結果

@D58XA@(R1KB8S3_18Q0BJ2


二、客戶端

<?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、要注意的一些問題。

發現有個朋友使用的時候碰到的問題總結貼,很不錯。

相關文章
相關標籤/搜索