首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Indy获取所有本地接口信息(跨平台)

Indy获取所有本地接口信息(跨平台)
EN

Stack Overflow用户
提问于 2013-03-08 10:40:28
回答 1查看 1.5K关注 0票数 0

我正在将一个持有网络接口列表的单元转换为跨平台。当前版本使用原始winsock来获取系统中每个网络接口的地址、掩码和广播地址。

我认为实现这种跨平台的最简单方法是使用Indy。我发现AddLocalAddressesToList是获取所有接口的IP地址的一种很好的简单方法,但我找不到如何获取所需的其他信息(掩码和广播地址)。我想我可以计算出广播地址,所以它实际上只是我不能计算出的掩码。

仅供参考。这是我找到的用于获取所有接口的IP地址的代码。

代码语言:javascript
复制
TIdStack.IncUsage;
try
  GStack.AddLocalAddressesToList(Memo1.Lines);
finally
  TIdStack.DecUsage;
end;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-08 11:32:38

WinSock不支持报告这种信息。您必须使用特定于操作系统的API。在Windows上,这意味着要使用Win32 API GetAdaptersInfo()GetAdaptersAddresses()函数。在其他平台上,您可以在可用的情况下使用getifaddrs()函数。

Indy目前不支持您所请求的内容。另外,请注意,目前,AddLocalAddressesToList()只支持大多数平台上的IPv4地址。

对检索本地IPv6地址以及子网掩码等其他信息的支持目前正在进行中,但目前还没有关于其可用性的预计值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15285792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档