Ruby:检查连通性

标签 ruby shell command-line

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

到目前为止我已经尝试过类似的东西

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

但如果没有一些容易获得且更好的方法来执行诸如此类的平凡任务,我会感到惊讶。

最佳答案

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

require 'open-uri'

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

关于Ruby:检查连通性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20807072/

相关文章:

html - 使用 bash,最好是 sed,命令删除 markdown (md) 文件中的图像和链接标签

linux - 每月第一天的星期一数

linux - 调用 shell 脚本时,bash 中的 exec 命令不起作用

java - 从另一个文件夹运行 Java

ruby-on-rails - 升级到 Rails 4.2.0.rc3 后,ActiveModel 序列化器不再工作

ruby - ruby 存在哪个框架仅用于服务 SOA 和接受模型的 MySQL(如 MVC 中的 M)?不需要V和C

windows - 如何更改 Windows 命令提示符中的文本颜色

xcode - 使用 Handbrake CLI 进行视频到图像序列

ruby-on-rails - 简单计算会导致Ruby中的语法错误

ruby - 如何根据 Ruby 中的值拆分散列?