保留 IP 和主机名列表

Hold lists of IPs and Host Names

我正在编写一个代理服务器,我有一个包含子网 (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)会更好。

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

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

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

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

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