【发布时间】:2019-01-05 19:46:05
【问题描述】:
我发现的所有解决方案都只是轮询服务。例如。他们每秒 ping google.com 以查看 Node 服务是否可以访问 Internet。
但是,我正在寻找一种更简洁的基于事件的解决方案。在浏览器中,有window.ononline 和window.onoffline。我知道这些并不完美,但它们总比没有好。
我不一定要寻找一种方法来查看 Node 服务是否在线,我只是在寻找一种方法来查看操作系统是否认为它在线。例如。如果操作系统没有连接到任何网络接口,那么它肯定是离线的。但是,如果它连接到路由器,那么我也许可以 ping google.com。
【问题讨论】:
-
没有循环你什么都做不了,nodeJs 是基于事件的,它有一个循环。因此,也许只是循环 ping DNS 而不是 google 以查看您是否已连接到网络,或者依赖您通过套接字与之交谈的其他服务,该服务会告诉您何时未连接到 Internet 或特定网络(可能是基于硬件的解决方案,硬连接到你的 nodeJs 运行机器)
-
检查此链接,这可能会有所帮助stackoverflow.com/questions/15270902/…
标签: javascript node.js network-programming