From: Paul Brannan Date: 2005-10-13T05:22:32+09:00 Subject: Re: event based model - best way to implement? On Wed, Oct 12, 2005 at 04:26:13AM +0900, Robert Klemme wrote: > Here's a typical example which uses a reader thread per client > > .require 'socket' > .port = (ARGV[0] || 80).to_i > .server = TCPServer.new('localhost', port) > .while (session = server.accept) > . Thread.new(session) do |sess| > . puts "Request: #{sess.gets}" > . sess.print "HTTP/1.1 200/OK\r\nContent-type: text/html\r\n\r\n" > . sess.print "

#{Time.now}

\r\n" > . # other stuff > . sess.close > . end > .end You can use gserver for this, too: require 'gserver' class MyServer < GServer def serve(io) puts "Request: #{sess.gets}" sess.print "HTTP/1.1 200/OK\r\nContent-type: text/html\r\n\r\n" sess.print "

#{Time.now}

\r\n" # other stuff sess.close end end port = (ARGV[0] || 80).to_i server = MyServer.new(port) server.start server.join Paul