文章目录
在前面的一系列文章中介绍了stun协议相关的内容,在介绍获取candidate的文章中都有涉及到对发送stun消息的构造,对服务返回消息的解析等逻辑;本文主要的内容就是介绍WebRTC对stun消息封装,看源码中是如何构建和解析stun的相关消息;这其中也会设计到对于ipv6和ipv4的地址封装类
SocketAddress
和
IPAddress
的介绍;
为了编写工具系列,WebRTC中提供的便捷工具类及相关的代码都抽取出来,工程地址: WebRTC_Tools
1. SocketAddress
之所以在第一节介绍这个,是因为不管是stun消息,还是candidate的收集都离不开socket,而SocketAddress就是对socket中的地址操作的封装,它封装了网络地址的IP地址和端口号,并提供了一些实用方法来操作网络地址;
SocketAddress类的定义在头文件webrtc/rtc_base/socket_address.h中。以下是SocketAddress类的定义:
/