From: Karl-Heinz Wild Date: 2005-10-04T07:14:53+09:00 Subject: access variables inside a block ... I'm playing with the class TcpServer from the package ldap-server. There is an interesting way for me of running a tcp server. ----------------------------- t = GAME::Server.tcpserver(:port=>1110, :nodelay=>true) do print "+OK I am a fake POP3 server\r\n" while line = gets case line when /^quit/i break else print "-ERR I don't understand #{line}" end end print "+OK bye\r\n" end t.join end ---------------------------- inside the GAME:Server.tcpserver it looks like ---------------------------- def self.tcpserver(opt, &blk) server = TCPServer.new(opt[:bindaddr] || "0.0.0.0", opt[:port]) server.listen(opt[:listen]) if opt[:listen] Thread.new do while true begin session = server.accept Thread.new(session) do |s| s.instance_eval(&blk) end rescue Interrupt server.close if server and not server.closed? break end end end end ------------------------------ Now, how can I get access to the "session" variables. I need some information from TCP inside the block. But I couldn't find out how. Thanks for reading the mail and maybe an answer :) regards Karl-Heinz