0

我正在编写代理服务器,并且我有一个包含子网 (n1.n2.n3.n4/x) 和主机名的过滤器文件。应该忽略它第一个 x MSB 与列表中的一个相同的每个 IP 地址,主机名也是如此。

我最初的想法是阅读文件并保存两个列表;

首先

struct Subnet{
    char* IP
    int mask
    Subnet* next
};

第二

struct Host_name{
    char* host
    Host_name* next
};

但我认为使用一些现有的结构(例如in addr)会更好。

我将不胜感激有关该主题的任何建议

4

1 回答 1

1

您应该选择最适合您的程序的格式。

因为您要比较位和字节,所以二进制格式(例如struct in_addr)对您的程序更方便。

如果将其存储为文本 ( char*),则每次访问列表时都必须将其转换为二进制格式。

最好在读取配置文件的时候进行数据转换,这样程序只需要转换一次数据。

于 2021-12-18T15:52:50.583 回答