建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 网站开发 > PHP教程 >

如何在php中开发xml_rpc服务和客户程序(5)

时间:2011-03-15 10:04来源: 作者: 点击:
五、应用实例 在下面这个例子中我们将构造一个服务。对于给定的数值n,服务返回n*2。客户端利用该服务计算5*2的值。 服务器端的代码如下: <?phpinclude(xmlrpc.inc);include(xmlrpcs.inc);function foo ($params)

五、应用实例

在下面这个例子中我们将构造一个服务。对于给定的数值n,服务返回n*2。客户端利用该服务计算5*2的值。

服务器端的代码如下:

<?php
include("xmlrpc.inc");
include("xmlrpcs.inc");
function foo ($params)
{
global $xmlrpcerruser; // 引入用户错误代码值
// $params是xmlrpcval对象的一个数组
$vala=$params->params[0];
$sval=$vala->scalarval();
$ret=$sval*2;
return new xmlrpcresp(new xmlrpcval($ret, "int"));
}
$s=new xmlrpc_server( array("product" =>
array("function" => "foo")));
?>

客户端代码如下:

<?php
include("xmlrpc.inc");
if ($http_post_vars["number"]!="") {
$f=new xmlrpcmsg(product,array(new xmlrpcval
($http_post_vars["number"], "int")));
$c=new xmlrpc_client("/xmlrpc/servfoo.php", 
"luigi.melpomenia.com.ar", 80);
$c->setdebug(0);
$r=$c->send($f);
$v=$r->value();
if (!$r->faultcode()) {
print "number ". $http_post_vars["number"] . " is " .
$v->scalarval() . "<br>";
print "<hr>来自服务器的结果!<br><pre>" .
htmlentities($r->serialize()). "</pre><hr>\n";
} else {
print "操作失败: ";
print "代码: " . $r->faultcode() .
" 原因: " .$r->faultstring()."<br>";
}
}
print "<form method=\"post\">
<input name=\"number\" value=\"${number}\">
<input type=\"submit\" value=\"go\"
 name=\"submit\"></form><p>
输入一个数值";
?>

结束语:xml_rpc服务的运作还涉及其他许多基础设施和基础工作,如分布式过程的编目和索引机制,又如在编程语言中处理xml_rpc的更好接口等。有关xml_rpc和服务式web的报道非常多,让我们密切关注他们的发展吧!

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片