xmlRpc 学习笔记

xml rpc是使用http协议做为传输协议rpc机制,使用xml文本的方式传输命令和数据。一个rpc系统,必然包括2个部分:1.rpc client,用来向rpc server调用方法,并接收方法的返回数据;2.rpc server,用于响应rpc client的请求,执行方法,并回送方法执行结果。xmlrpc是一种通过网络进行过程调用的快速并且简单的方法。xmlrpc将过程调用需要的参数转换成xml文档,并以http协议发送给远端服务器,服务器将以xml协议将结果回复给客户端。RPC是Remote Procedure Call的缩写,翻译成中文就是远程过程调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为了提高各个分立机器的“互操作性”而发明出来的技术。

以下是在使用xmlrpc时需要用到的参考资料。
xmlrpc网站:http://xmlrpc-c.sourceforge.net/
xmlrpc源代码下载:https://sourceforge.net/p/xmlrpc-c/code/HEAD/tree/

XML-RPC用户手册:http://xmlrpc-c.sourceforge.net/doc/#examples
介绍了什么是xmlrpc, 介绍了C/C++应用程序使用xmlrpc时需要用到的lib文件以及每个lib文件大概的作用,手册里面还有C和C++实现的xmlrpc客户端和服务器示例代码。

General Library Information - C:http://xmlrpc-c.sourceforge.net/doc/libgeneral.html
介绍了xmlrpc-c的C编程库

general library information - C++:http://xmlrpc-c.sourceforge.net/doc/libgeneral++.html
介绍了xmlrpc-c的C++编程库

libxmlrpc:http://xmlrpc-c.sourceforge.net/doc/libxmlrpc.html
详细讲解了libxmlrpc库
libxmlrpc++:http://xmlrpc-c.sourceforge.net/doc/libxmlrpc++.html
详细讲解了libxmlrpc++库
———————————————————

以上内容转载自CSDN
原文:https://blog.csdn.net/qq_28453017/article/details/79931620 
———————————————————

应用实例:

server-----

class HelloWorld : public XmlRpcServerMethod
{
public:
    HelloWorld(XmlRpcServer* s) : XmlRpcServerMethod("DesktopHandle.HelloWorld", s) {}//HelloName

    void execute(XmlRpcValue& params, XmlRpcValue& rv)
    {
        printf( "DesktopHandle.HelloWorld ...");
        string strMsg(params[0]);
       printf( "receive msg: %s", strMsg.c_str());
        rv = "success";
    }

}

void StartXmlRpcService()
{
    int iPort = 9999;
    XmlRpc::setVerbosity(5);
    g_XmlRpcServer.bindAndListen(iPort);
    // Enable introspection
    g_XmlRpcServer.enableIntrospection(true);
    // Wait for requests indefinitely
    // -1.0 mean forever
    g_XmlRpcServer.work(-1.0);
}

void StopXmlRpcService()
{
    g_XmlRpcServer.shutdown();
    g_XmlRpcServer.ForceExit();
}

//Method-->DesktopHandle.HelloWorld

client-------

/*

const char* host, int port, const char* uri=0

*/

  XmlRpcClient c(g_strServerIp.c_str(), g_iServerPort);
  XmlRpcValue arg, res;

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值