背景:
根据此前STUN系列可以通过C实现stun包的解析和打包,并进一步了解stun协议的详细使用细节。
本文所实现根据rfc5389版本实现的简版stun协议,如果需要可以自行添加更多的属性处理流程 。
windows端stun协议处理代码如下:
1:stun.h
定义stun的包类型,属性类型以及固定的魔术字,并定义各个接口
2:stun.c
协议具体实现
3:core.c
实现crc32摘要计算,和hmac_sha1加密算法实现,实现基础的大小端转换接口(尽量不依赖系统库,可以让读者更加了解实现的细节)