create server

V

Vince Forgetta

[Note: parts of this message were removed to make it a legal post.]

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
 
V

Vince Forgetta

[Note: parts of this message were removed to make it a legal post.]

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
 
H

hemant kumar

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.
 
V

Vince Forgetta

[Note: parts of this message were removed to make it a legal post.]

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
 
V

Vince Forgetta

[Note: parts of this message were removed to make it a legal post.]

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
 
D

Daniel Finnie

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,780
Messages
2,569,611
Members
45,276
Latest member
Sawatmakal

Latest Threads

Top