我正在编写一个 Ruby 客户端,它将打开 tcp 套接字和流数据。
如果我无法在 20 秒内打开套接字,我将触发超时错误。
begin
Timeout::timeout(20) { socket = open_socket(host, port) }
rescue Errno::ECONNREFUSED
puts "Failed to connect to server"
rescue Timeout::Error
puts "Timeout error occurred while connecting to the server"
end
我的 open_socket 方法如下。
def open_socket(host,port)
TCPSocket.new(host,port)
end
代码工作正常。我的问题是
- 套接字编程中的标准超时(以秒为单位)是多少?
- 是否可以根据我们的需要设置超时秒数?