Ich lese Zeilen von Eingabe auf einem TCP-Socket, ähnlich wie hier:
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
Wenn der Endpunkt die Verbindung beendet, während getline() läuft, hängt gets().
Wie kann ich das umgehen? Ist es notwendig, nicht-blockierende oder zeitgesteuerte E/A zu verwenden?