Hi all,
I am interested in using GServer but the server hangs after ~5-10
attempts
(per max connections to allow). Example code I used is from Peter
Coopers
book, Beginning Ruby From Novice to Professional:
http://www.springerlink.com/content/ph5611n3q3uu0619/
Is this normal?
Thanks.
Vince
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?
Vince
On Tue, 2008-04-15 at 03:16 +0900, Vince F. wrote:
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.
Solved my problem. Used select instead of threads to implement the
server.
Got the code from “The Ruby P.ming Language”. What a great book!
Vince
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
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