我正在将一个包含网络接口列表的单元转换为跨平台。当前版本使用 raw winsock 获取系统中每个网络接口的地址、掩码和广播地址。
我认为制作这个跨平台的最简单方法是使用 Indy。我发现这AddLocalAddressesToList
是获取所有接口的 IP 地址的一种非常简单的方法,但我不知道如何获取我需要的其他信息(掩码和广播地址)。我想我可以计算广播地址,所以它实际上只是我无法弄清楚的掩码。
供参考。这是我找到的用于获取所有接口的 IP 地址的代码。
TIdStack.IncUsage;
try
GStack.AddLocalAddressesToList(Memo1.Lines);
finally
TIdStack.DecUsage;
end;