XML-RPC for C and C++

A lightweight RPC library based on XML and HTTP.

Copyright 2001 Eric Kidd. All rights reserved. The contents of this website may be distributed under the same license terms as XML-RPC for C/C++. Funding for the initial releases of XML-RPC for C/C++ was provided in part by First Peer, Inc.

SourceForge Logo


XML-RPC is a quick-and-easy way to make procedure calls over the Internet. It converts the procedure call into an XML document, sends it to a remote server using HTTP, and gets back the response as XML.

This library provides a modular implementation of XML-RPC for C and C++.

The library also provides limited facilities for the common variation on XML-RPC that uses HTTPS (SSL encryption).

The library also provides a variation on XML-RPC that works better in some cases (but is not standard): packet stream XML-RPC.

XML-RPC For C and C++ is designed for Unix and is most tested on unix. As far as we know, it works on any reasonably standard unix.

There is also lots of code to make it work on Windows, using Windows native wininet for clients and Windows native http.sys for servers. But the fact is that it probably won't work out-of-the-box on your Windows system. Here is the Windows story.

[ Downloading | Example Code | Performance | Alternatives | XML-RPC protocol ]

There is a Perl module to interface to XML-RPC for C and C++. Look in CPAN for RPC::Xmlrpc_c.

For information on using XML-RPC with other languages, see the XML-RPC Web site and the Linux XML-RPC Howto.