下载地址:http://www.phprpc.org/zh_CN/download/
该版本直接解压后就可以使用,其中
<?php
include('php/phprpc_server.php'); //加载文件
function hello($name) {
return 'Hello ' . $name;
}
$server = new PHPRPC_Server(); //创建服务端
$server->add(array('hello', 'md5', 'sha1')); //数组形式一次注册多个函数
$server->add('trim'); //单一注册
$server->start(); //开启服务
?><?php
include ("php/phprpc_client.php"); //加载文件
$client = new PHPRPC_Client('http://127.0.0.1/server.php'); //创建客户端 并连接服务端文件
echo $client->Hello("word"); //调用方法 返回 hello word
?>
-----------------------------------------------------------------------------------------------------------------------------------
服务端其他说明:
<?php
include('php/phprpc_server.php'); //加载文件
function hello($name) {
return 'Hello ' . $name;
}
class Example1 {
static function foo() {
return 'foo';
}
function bar() {
return 'bar';
}
}
$server = new PHPRPC_Server(); //创建服务端
$server->add('foo', 'Example1'); //静态方法直接调用
$server->add('bar', new Example1()); //非静态方法 需要实例化
//注册别名调用
$server->add('hello', NULL, 'hi'); //第三参数是函数的别名 客户端通过别名来调用函数
$server->add('foo', 'Example1', 'ex1_foo');
$server->add('bar', new Example1(), 'ex1_bar');
$server->setCharset('UTF-8'); //设置编码
$server->setDebugMode(true); //打印错误
$server->setEnableGZIP(true); //启动压缩输出虽然可以让传输的数据量减少,但是它会占用更多的内存和 CPU,因此它默认是关闭的。
$server->start(); //开启服务
?>
--------------------------------------------------------------------------------------------------------------------------------
客户端其他说明:
<?php
include ("php/phprpc_client.php");
$client = new PHPRPC_Client();
$client->useService('http://127.0.0.1/server.php'); //远程调用地址
$client->setKeyLength(1000); //密钥长度
$client->setEncryptMode(3); //加密等级0-3
$client->setCharset('UTF-8'); //设置编码
$client->setTimeout(10); //设置超时时间
echo $client->hi('PHPRPC'), "\r\n"; //调用函数
echo $client->getKeyLength(), "\r\n"; //下面是返回值
echo $client->getEncryptMode(), "\r\n";
echo $client->getCharset(), "\r\n";
echo $client->getTimeout(), "\r\n";
?>关于session
<?php
include('php/phprpc_server.php');
class ExampleCounter {
function ExampleCounter() {
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
}
}
function inc() {
$_SESSION['count'] += 1;
}
function count() {
return $_SESSION['count'];
}
}
$server = new PHPRPC_Server();
$server->add(array('inc', 'count'), new ExampleCounter());
$server->start();
?>
<?php
include("php/phprpc_client.php");
$client = new PHPRPC_Client();
$client->useService('http://127.0.0.1/1.php');
$client->setTimeout(10);
echo $client->inc();
echo $client->count();
echo $client->inc();
echo $client->count();
?>
每次刷新都是新建的client 服务端并不能识别.