estoy leyendo las líneas de entrada en un socket TCP, similar a esto:Para recuperarse de un socket TCP rota en Ruby, cuando en gets()
class Bla
def getcmd
@sock.gets unless @sock.closed?
end
def start
srv = TCPServer.new(5000)
@sock = srv.accept
while ! @sock.closed?
ans = getcmd
end
end
end
Si el punto final termina la conexión mientras getline() es corriendo se pone() se bloquea.
¿Cómo puedo evitar esto? ¿Es necesario hacer E/S sin bloqueo o temporizadas?
pequeña errata en allí, creo que quería: http://gist.github.com/527750 – rogerdpack