私はtcpソケットを開いてデータをストリーミングするRubyクライアントを書いています。
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
コードは正常に機能します。私の質問は
- ソケットプログラミングの標準タイムアウト(秒単位)は何ですか?
- 必要に応じて秒単位のタイムアウトを設定できますか?