From: Giuseppe Bilotta Date: Wed, 9 Apr 2008 21:13:50 +0000 (+0200) Subject: hl2 plugin: handle send errors as well X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;h=29397fb64d302d9dac81521c24e934e588d61ee8;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git hl2 plugin: handle send errors as well --- diff --git a/data/rbot/plugins/hl2.rb b/data/rbot/plugins/hl2.rb index 5023e01c..c11beee9 100644 --- a/data/rbot/plugins/hl2.rb +++ b/data/rbot/plugins/hl2.rb @@ -24,14 +24,15 @@ class HL2Plugin < Plugin def a2s_info(addr, port) socket = UDPSocket.new() - socket.send(A2S_INFO, 0, addr, port.to_i) - response = nil - begin + socket.send(A2S_INFO, 0, addr, port.to_i) + response = nil + timeout(TIMEOUT) do response = socket.recvfrom(1400,0) end - rescue Exception + rescue Exception => e + error e end socket.close() @@ -45,7 +46,7 @@ class HL2Plugin < Plugin def hl2(m, params) addr, port = params[:conn_str].split(':') info = a2s_info(addr, port) - if info != nil + if info m.reply "#{info[3]} is online with #{info[8]}/#{info[9]} players." else m.reply "Couldn't connect to #{params[:conn_str]}"