我想知道我该怎么做才能得到:
内部IP地址;
外部IP地址;以及
默认网关
在Windows(WinSock)和Unix系统中。
提前谢谢你,

最佳答案

在Windows和UNIX上没有通用机制。在Windows下,您希望从GetIfTable()开始。在大多数UNIX系统下,尝试getifaddrs()。它们会给你各种各样的东西,比如每个接口的IP地址。
我不知道怎么才能得到默认的网关。我想它可以通过调用sysctl获得。您可能想从the netstat utility的源代码开始。
外部公共广播是计算机永远不知道的东西。唯一的方法是连接到互联网上的某个东西,让它告诉你你来自哪个地址。这是IPNAT的经典问题之一。

09-10 07:45