ruby - 如何在 Ruby 中设置套接字超时?

标签 ruby network-programming

如何设置 Ruby 套接字阻塞操作的超时时间?

最佳答案

我发现似乎有效的解决方案是使用 Timeout::timeout :

require 'timeout'
    ...
begin 
    timeout(5) do
        message, client_address = some_socket.recvfrom(1024)
    end
rescue Timeout::Error
    puts "Timed out!"
end

关于ruby - 如何在 Ruby 中设置套接字超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/231647/

相关文章:

java - netty - 我可以引导一个新客户端来连接 channel 处理程序中的其他服务器吗?

C# 所有套接字都关闭

java - 在 Android 中使用 android.net 或 java.net 哪个 Socket API 进行 UDP 通信?

ruby - 如何进一步处理导致 Ruby FasterCSV 库抛出 MalformedCSVError 的数据行?

linux - libpcap 还是 PF_PACKET?

c++ - 为什么在使用 select() "break"第一次连接时使用第二个套接字连接到服务器?

ruby - 为什么这个正则表达式不能正常工作?

arrays - 如果第二个是 Ruby 中的 != "",如何连接两个数组属性

mysql - Rails 4 - Mysql2::错误:索引列大小太大

ruby-on-rails - 通过父 Controller 更新嵌套资源并查看?