我有一个经常断开连接的服务器
$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
并且应用程序以某种方式挂起。对此有任何注意吗?奇怪的是它没有进入异常处理程序。