RubyDNS可以被用来当作异步DNS客户端,请求一个指定的DNS服务器或系统默认的解析器。
EventMachine
提供基本的异步事件处理,因此 RubyDNS::Resolver
相关的代码必须在EventMachine
上下文里执行。
超时处理
因为是异步服务,一个超时时间可以被设置(默认是5秒)。如果在给定的时间内没有收到响应,一个RubyDNS::ResolutionFailure
错误就会返回给调用者,在response
参数里:
更多例子,请查看rubydns/test/test_slow_server.rb.
日志
额外的调试输出可以被写到日志文件,通过提供的:logger
选项: