这个库看名字应该是对 PJLIB 进行扩展的一个包。同样打开 include 看看,发现一个头文件 pjlib-util.h
#ifndef __PJLIB_UTIL_H__
#define __PJLIB_UTIL_H__
/**
* @file pjlib-util.h
* @brief pjlib-util.h
*/
/* Base */
#include <pjlib-util/errno.h>
#include <pjlib-util/types.h>
/* Getopt */
#include <pjlib-util/getopt.h>
/* Crypto */
#include <pjlib-util/base64.h>
#include <pjlib-util/crc32.h>
#include <pjlib-util/hmac_md5.h>
#include <pjlib-util/hmac_sha1.h>
#include <pjlib-util/md5.h>
#include <pjlib-util/sha1.h>
/* DNS and resolver */
#include <pjlib-util/dns.h>
#include <pjlib-util/resolver.h>
#include <pjlib-util/srv_resolver.h>
/* Simple DNS server */
#include <pjlib-util/dns_server.h>
/* Text scanner */
#include <pjlib-util/scanner.h>
/* XML */
#include <pjlib-util/xml.h>
/* Old STUN */
#include <pjlib-util/stun_simple.h>
/* PCAP */
#include <pjlib-util/pcap.h>
/* HTTP */
#include <pjlib-util/http_client.h>
#endif /* __PJLIB_UTIL_H__ */
大概有如下内容:
- DNS 查询
- DNS 服务器
- 文本扫描
- XML 处理
- STUN 在网上查是 (Simple Traversal of UDP over NATs,NAT 的UDP简单穿越)是一种网络协议
- PCAP
- HTTP
由此可见,这个包提供了更为高级的一些工具库,特别是针对网络方面,进行了相关封装。暂时不深入去了解,不过可以确定的是,如果可行我们其它地方需要用网络实现,特别是跨平台的项目,使用这里面的 XML HTTP 都是一件不错的选择!
以后有需要再详细分析该部份代码