Ruby:检查连接性

时间:2013-12-27 20:02:08

标签: ruby shell command-line

如何检查Ruby中是否存在网络连接?

到目前为止,我已尝试过类似

的内容
`ping -c 1 8.8.8.8`
unless $?
  abort("There was an error")
end

但如果没有一些容易获得且更好的方法来完成这样的平凡任务,我会感到惊讶。

1 个答案:

答案 0 :(得分:0)

一种简单的方法是尝试打开一个套接字,如果它失败了,那么你就没有连接。与以特定于操作系统的方式检查状态位相比,这是一项昂贵的操作,但它简单有效。

require 'open-uri'

def connected?
  open("http://example.com/") rescue false
end