【问题标题】:Node - Check for Network Connectivity节点 - 检查网络连接
【发布时间】:2018-07-07 13:52:03
【问题描述】:

我有一个 Node.js 应用程序。我正在尝试检测连接性。我知道如何通过 ping Google 来检查我是否可以访问互联网。但是,我很好奇是否有办法在检查我是否可以访问外部世界之前检查我是否连接到网络(即路由器)。

有没有一种方法可以检查我是否已连接到网络,但不一定可以访问外部世界?如果有,怎么做?

我知道在 JavaScript 中,我可以检查 navigator.onLine 属性。但是,navigator 属性在 Node 中不存在。

【问题讨论】:

标签: node.js


【解决方案1】:

我猜你最好的选择将涉及os.networkInterfaces(),如node.js documentation中所述:

os.networkInterfaces() 方法返回一个只包含 已分配网络地址的网络接口。

返回对象上的每个键标识一个网络接口。这 关联值是一个对象数组,每个对象描述一个分配的 网络地址。

分配的网络地址对象上可用的属性 包括: ...

  • internal - 如果网络接口是不可远程访问的环回或类似接口,则为 true;否则为假

因此,您需要查找internal 为假的接口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-01
    • 2010-10-05
    • 2019-10-03
    相关资源
    最近更新 更多