简介
协议定义username,len,value;
while 读取;
2个switch,case解析.读取value.
代码示例
struct stun_attr {
unsigned short attr;
unsigned short len;
unsigned char value[0];
} __attribute__((packed));
struct stun_attr *stunmsg;
struct stun_attr *attr;
data = buf + sizeof(struct stun_header);
switch (ntohs(hdr->msgtype))
{
while(len)
{
attr = (struct stun_attr*)data;
switch (ntohs(attr->attr)) {
case STUN_XOR_MAPPED_ADDRESS:
{
struct stun_addr* aa =(struct stun_addr*)attr->value;
}
break;
}
data += ntohs(attr->len) + sizeof(struct stun_attr);
len -= ntohs(attr->len) + sizeof(struct stun_attr);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)