我使用以下代码段ping一系列IP,并检查它们是否可以访问:
class Ping
def self.pingecho(host = string.new, timeout = 10, service = "echo")
begin
puts host
while(timeout) do
s = TCPSocket.new(host, service)
s.close
end
rescue Errno::ECONNREFUSED
return true
rescue Timeout::Error, StandardError
return false
end
return true
end
end
它返回正确的状态,但列表中的两个IP除外,其代码返回false
。但是,当我尝试使用ping命令通过命令提示符直接对其进行ping操作时,我得到的响应没有任何问题。如果这是代码问题,那么对于其他IP,我也应该得到不正确的结果。但是我只有这两个有这个问题。
我试图通过以下方式将这些IP直接传递给班级:
Ping::pingecho(10.xx.xx.xx)
但是我仍然得到的结果为false
。
关于需要检查/纠正的任何建议?