Karl-Heinz Wild wrote: > 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 t = GAME::Server.tcpserver(:port=>1110, :nodelay=>true) do session = self session.... -- vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407