用freeDiameter封装Diameter消息

本文详细介绍了如何使用freeDiameter库构建Diameter消息及其AVP。首先,通过`fd_dict_search`查找消息头样例对象,然后用`fd_msg_new`构建消息实例。接着,详细阐述了不同类型AVP的构建过程,包括查找AVP样例对象、创建AVP实例、填充数据(如IP、octetstring、时间、enumval、整型等)以及将AVP添加到消息中。

一、Diameter消息头的构建
1、在库中查找所要构建消息的消息头样例对象
函数1int fd_dict_search(struct dictionary*dict,enum dict_object_type type,int criteria,const void*what,struct dict_object**result,int retval);
参数1,是一个指向存储样例对象库的指针;
参数2,是所要查找样例对象的类型,对于msg消息头填选DICT_COMMAND,对于avp填选DICT_AVP,(如下为enum dict_object_type定义);
/* Types of object in the dictionary. */
enum dict_object_type {
DICT_VENDOR = 1,
DICT_APPLICATION,
DICT_TYPE,
DICT_ENUMVAL,
DICT_AVP,
DICT_COMMAND,
DICT_RULE };
参数3,是查找样例对象所用的方式,不同的参数2对应不同的方式;
参数4,是根据参数3,查找所用的具体数据;
参数5,传出参数,指向查找得到的样例对象地址的指针;
参数6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值