我正在尝试检查网络服务(即 HTTP、HTTPS、TCP、SMTP、FTP、Telnet)是否已在网站上激活并正常运行而没有任何中断。我编写了以下代码,在远程端口上打开与远程主机的 TCP 连接,并检查是否可以与网站建立连接。
require 'timeout'
require 'socket'
def ping(host,port)
begin
Timeout::timeout(5) do
s=TCPSocket.new(host,port)
s.close
return true
end
rescue Err::ECONNREFUSED
return false
rescue Err::Timeout
return false
end
end
我还编写了代码来监控已经在网站上运行的 SMTP 服务。
smtp=Net::SMTP.start("mail.google.com",25).started?
但是输出是错误的,而 gmail 支持 SMTP 服务。所以问题是:
应该如何监控网站上已经运行的 SMTP 服务?