Ich Eingabezeilen auf einem TCP-Socket, ähnlich wie bei der Lektüre dieses:von einem gebrochenen TCP-Socket in Ruby Wiederherstellen, wenn in 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
Wenn der Endpunkt beendet die Verbindung während getline() ist läuft dann wird gets() hängt.
Wie kann ich das umgehen? Müssen nicht blockierende oder zeitgesteuerte E/A durchgeführt werden?
Kleiner Tippfehler drin, ich glaube, Sie wollten: http://gist.github.com/527750 – rogerdpack