From: Daniel Finnie Date: 2008-04-17T06:59:27+09:00 Subject: Re: create server Hi, I'm glad you solved your problem, I just had two comments: - "#{line.chomp}" is equivalent to line.chomp. - sleep 0 by definition sleeps forever: puts "A" sleep 0 puts "B" B is never written Dan On Wed, Apr 16, 2008 at 9:41 AM, Vince Forgetta wrote: > Solved my problem. Used select instead of threads to implement the server. > Got the code from "The Ruby Programming Language". What a great book! > > Vince > > > > On Mon, Apr 14, 2008 at 2:54 PM, Vince Forgetta wrote: > > > Sorry, here is the code: > > > > require 'gserver' > > class HelloServer < GServer > > def serve(io) > > line = io.gets > > io.puts("#{line.chomp}") > > end > > end > > server = HelloServer.new(1234, '127.0.0.1', 1) > > server.audit = true > > server.start > > server.join > > > > On Mon, Apr 14, 2008 at 2:46 PM, hemant kumar wrote: > > > > > > > > On Tue, 2008-04-15 at 03:16 +0900, Vince Forgetta wrote: > > > > Figured it out. > > > > > > > > I need to sleep between successive calls to TCPSocket.new (see simple > > > > example below): > > > > > > > > require 'socket' > > > > for i in 0..20 > > > > session = TCPSocket.new('localhost', '1234') > > > > session.puts "test" > > > > dat = session.gets > > > > p dat > > > > session.close > > > > sleep 0.5 > > > > end > > > > > > > > Using 'sleep 0' cause the server to hang. Is there a way around this? > > > > > > > > > > Perhaps then you should paste server code, rather than client code. > > > > > > > > > > > > > > >