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;