如何检查Ruby中是否存在网络连接?
到目前为止,我已尝试过类似
的内容`ping -c 1 8.8.8.8`
unless $?
abort("There was an error")
end
但如果没有一些容易获得且更好的方法来完成这样的平凡任务,我会感到惊讶。
答案 0 :(得分:0)
一种简单的方法是尝试打开一个套接字,如果它失败了,那么你就没有连接。与以特定于操作系统的方式检查状态位相比,这是一项昂贵的操作,但它简单有效。
require 'open-uri'
def connected?
open("http://example.com/") rescue false
end