0

我正在寻找一种简单的方法来测试内核是否在 C/C++ 中支持 Linux 上的 IPv6。检查 socket() 调用是否失败并且 errno 是否设置为 EINVAL 是否足够?

4

1 回答 1

3

实际上,请阅读ipv6(7):对socket(7) -s 例程的调用,尤其是socket(2)和其他例程,例如bind(2)等...,可能会失败(无论如何你应该始终处理此类失败)。

您也可以使用proc(5)例如 read/proc/net/if_inet6/proc/net/sockstat6 (我相信如果不支持它就不会存在ipv6)。

于 2015-01-22T20:15:40.000 回答