我在以下位置找到了这样的代码:https ://github.com/mojombo/proxymachine/
proxy do |data|
return if data.size < 9
v, c, port, o1, o2, o3, o4, user = data.unpack("CCnC4a*")
return { :close => "\0\x5b\0\0\0\0\0\0" } if v != 4 or c != 1
return if ! idx = user.index("\0")
{ :remote => "#{[o1,o2,o3,o4]*'.'}:#{port}",
:reply => "\0\x5a\0\0\0\0\0\0",
:data => data[idx+9..-1] }
end
这段代码有什么作用?特别是这些行:
data.unpack("CCnC4a*")
return { :close => "\0\x5b\0\0\0\0\0\0" } if v != 4 or c != 1
:reply => "\0\x5a\0\0\0\0\0\0",
:data => data[idx+9..-1] }
我不是要 ruby 成语,而是要功能方面。