29 GroupSock(NetAddressList)——live555源码阅读(四)网络

本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso
本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso

简介

网络地址列表是用于保存一系列网络地址的类。它与NetAddress无直接联系。
NetAddressList类内部定义了一个二级指针NetAddress** fAddressArray,在使用的时候给它动态申请一个元素个数为unsigned fNumAddresses指针(NetAddress*)数组。指针数组的每一个元素又指向一个动态申请NetAddress对象。

29 GroupSock(NetAddressList)——live555源码阅读(四)网络

29 GroupSock(NetAddressList)——live555源码阅读(四)网络

 1 class NetAddressList {
 2 public:
 3     // 构造函数hostname可以是一个点分十进制的IP地址,也可以是主机域名
 4     NetAddressList(char const* hostname);
 5     NetAddressList(NetAddressList const& orig);
 6     NetAddressList& operator=(NetAddressList const& rightSide);
 7     virtual ~NetAddressList();
 8     //获取地址表中元素个数
 9     unsigned numAddresses() const { return fNumAddresses; }
10     //获取地址表第一个地址的内存地址
11     NetAddress const* firstAddress() const;
12 
13     // Used to iterate through the addresses in a list:
14     // 用于遍历列表中的地址:
15     class Iterator {
16     public:
17         Iterator(NetAddressList const& addressList);
18         NetAddress const* nextAddress(); // NULL iff none没有跟多地址了
19     private:
20         NetAddressList const& fAddressList; //必须绑定一个地址表
21         unsigned fNextIndex;    //下一个地址的索引
22     };
23 
24 private:
25     //为地址表申请内存空间,并将表addressArray中的内容拷贝进去
26     void assign(netAddressBits numAddresses, NetAddress** addressArray);
27     //删除地址表和地址表中所有地址
28     void clean();
29 
30     friend class Iterator;
31     unsigned fNumAddresses;     //地址个数
32     NetAddress** fAddressArray; //地址表
33 };
NetAddressList 定义

相关文章:

  • 2021-07-12
  • 2021-06-24
  • 2021-08-04
  • 2021-10-02
  • 2021-12-05
  • 2021-05-20
  • 2021-07-04
  • 2022-03-02
猜你喜欢
  • 2021-09-03
  • 2021-11-18
  • 2021-11-04
  • 2022-01-04
  • 2021-06-03
  • 2021-10-01
  • 2021-11-27
相关资源
相似解决方案