Hello… I am writing a simple chat program, but i have encountered a
problem. I ask for a client to provide a handle, but it he disconnects
during a gets call, it does weird things.
def get_handle(session) for attempt in (0..2) session.print "Please Login\n" response=session.gets.strip # The problem re=/(Login)\s(.+)/ md=re.match(response) response=md if([email protected]_value?(response)) # This just checks to make sure the handle isn't in use. return response else session.print "Handle alerady in use... " end end end
If the client disconnects at this point, ruby seems to be still waiting
for a response. Also, sometimes it sends ruby’s processor usage to 100%.
Is there a better way to do this? Or is there a way to give gets a