Daniel Finnie
4/16/2008 9:59:00 PM
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 <forgetta@gmail.com> 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 <forgetta@gmail.com> 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 <gethemant@gmail.com> 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.
> > >
> > >
> > >
> > >
> >
>