是否有一个Linux函数等同于InetIsOffline
function in Windows(由url.dll
提供)可以告诉我系统是否连接到Internet,还是我必须自己做些什么?
我问的原因是我是Lhogho的早期采用者。我在Windows中找到了如何做到这一点,并想开发一些在Linux中提供相同功能的东西。
答案 0 :(得分:1)
您可以通过D-Bus与网络管理器通信以查看是否有任何连接,但除此之外没有具体的方法。 NM甚至并不总是准确的。
答案 1 :(得分:1)
您还可以解析/proc/net/
下的某些文件,例如/proc/net/if_inet6
或/proc/net/tcp
但你为什么要那样做呢?如果您想检查某些网站是否可访问,只需以编程方式访问它(例如使用libcurl)。
确实发生了某些网站无法访问而其他网站仍无法使用的情况。
答案 2 :(得分:0)
这可能意味着“我有一条默认路线吗?”,或者至少这是一个合理的实施,恕我直言。因此,只需检查路由表(/proc/net/route
):)。
当然,这不适用于IPv6(您需要解析ipv6_route
),但决定如何处理它是很复杂的。也许Wine源代码或MSDN文档可以解释这个问题。