Ruby从频繁重置的服务器读取

Ruby从频繁重置的服务器读取,ruby,sockets,Ruby,Sockets,我有一个经常断开连接的服务器 $echo "GET hosts" | nc localhost 323 a.host.com b.host.com c.host.com 用下面的代码从ruby中读取相同的内容 s = TCPSocket.new(host,port) s.puts "GET hosts\n\n\r\r" data = "" begin until s.closed? l = s.gets puts "Host:" + l data = data +

我有一个经常断开连接的服务器

$echo "GET hosts" | nc localhost 323
a.host.com
b.host.com
c.host.com
用下面的代码从ruby中读取相同的内容

s = TCPSocket.new(host,port)
s.puts "GET hosts\n\n\r\r"
data = ""
begin
  until s.closed?
    l = s.gets
    puts "Host:" + l
    data = data + l
  end
rescue Exception => e
  puts "pp" + e.message
end
打印出来

Host:a.host.com
Host:b.host.com
Host:c.host.com
Host:Error reading from 3: Connection reset by peer
应用程序不知怎么挂起了。
对此有什么想法吗??奇怪的是它没有进入异常处理程序。

您可以尝试像这样进行营救
营救Errno::ECONNRESET=>e


签出,尤其是
重试
位。

在断开连接的情况下,我希望读取所有已成功读取的数据。