在c / c ++中查找可用的网络接口

时间:2011-12-08 17:17:37

标签: c++ c linux networking ubuntu

有没有人知道c / c ++代码 找到可用的网络接口? 我一直在寻找一些代码,但大多数情况下都非常复杂。有一种简单的方法可以做到这一点吗?

更新

在Ubuntu / Linux上

2 个答案:

答案 0 :(得分:18)

请参阅getifaddrs手册页。最后有一个示例程序。

答案 1 :(得分:2)

如果您在桌面应用程序的上下文中查找此内容,并且希望收到更改通知(例如,连接/断开连接),请考虑使用DBus监视NetworkManager。

http://projects.gnome.org/NetworkManager/developers/api/09/spec.html

您可以枚举接口以及特定于接口的内容(例如可用和连接的WiFi接入点,已配置但未拨打的PPP链接等),如果有任何更改,您将收到通知在DBus上。

(如果这更像是服务器程序,您期望网络配置保持更稳定,那么getifaddrs之类的东西可能更合适。)