引言 为了学习xml-rpc,找到了一个xml-rpc的c语言的server/client实现,通过它的学习来掌握xml-rpc。 简述 xmlrpc-epi是一个xml-rpc的c语言实现,但是它不包括传输层,像HTTP。现在最新版也支持SOAP1.1 使用范例 可以使用这个库,实现服务器和客户端。 特征和体系结构 - 对值的操作有全面的API
- XML的分析(xml_element.c)是完全独立于XMLRPC接口库的。它能被当作一个独立的实现使用。
- Because of this, the same XMLRPC data can be serialized into multiple xml vocabularies. It is simply a matter of writing a transport. So far, two transports have been defined. The default xmlrpc vocab (xml_to_xmlrpc.c), and simple-rpc (xml_to_dandarpc.c) which is proprietary, but imho more readable, and nice for proprietary legacy reasons.
- Various output options, including: xml escaping via CDATA or entity, case folding, vocab version, and character encoding.
- support for converting UTF-8 (from xml parser) to local character encoding.
- One to One mapping between C structures and actual values, without developer having to know arcana of xmlrpc protocol.
- support for mixed indexed/keyed vector types, making it more compatible with languages such as PHP.
- quite speedy compared to implementations written in interpreted languages. Also, uses intelligent string handling, so not many strlen() calls, etc.
XMLRPC-EPI Architecture
解说- Support Routines: 被系统使用的基本的实用程序
- XML Parser: 读入外部的XML数据,提供给xml_element来分析
- XML In Memory Tree: 这个程序负责读入和写出xml数据,它与xmlrpc无关,也能被用来做其他用途,如读取xml的配置文件。
- Vocabulary Serializers: 这个程序在xml和xmlrpc数据结构之间转换
- Application API: 这是应用程序使用的XMLRPC的API,它提供了容易的数据操作,方法注册和处理
今天就到这把,明天进行安装和例子的编译。 |