是否有人有他们的代码片段,用于检查网络是否在机器上启用并具有活动的 IP 地址。
我有一个连接到其他客户端机器的网络软件,虽然它在机器连接时可以工作,但是如果我拔下电缆或禁用网络,它会引发一大堆异常。
最好把支票放在上面:D
提前致谢
是否有人有他们的代码片段,用于检查网络是否在机器上启用并具有活动的 IP 地址。
我有一个连接到其他客户端机器的网络软件,虽然它在机器连接时可以工作,但是如果我拔下电缆或禁用网络,它会引发一大堆异常。
最好把支票放在上面:D
提前致谢
您可能应该只捕获例外情况:否则,如果机器连接到网络,而不是与适当的其他机器连接的网络,您将遇到问题。
网络始终处于动态状态,运行开始时的简单检查不足以正确运行。所以不幸的是,您必须检查任何网络操作成功状态。
至于在网络断开状态下甚至不启动程序...考虑一下您的程序是否在计算机崩溃或电源故障后自动启动。或者,如果任何其他组件遭受了类似的情况或故障。这些情况经常发生,并且仅仅因为一些 dweeb 偶然发现网络电缆而在 n+1 台计算机上重新启动程序是非常烦人的。
为了检查网络的一般可用性,如果 localhost 没有应答,您始终可以“ping -q -c 1 127.0.0.1”返回值为 1。这应该在启动脚本中,完全没有必要在应用程序中对其进行编码。
我认为您可以在终端中使用“ifconfig”命令获得所需的内容。