Tcp multiple client / server... for each connection write


im putting together a server with multiple clients establishing a
connection… I need each client connected to retreave a string from the
server then the client’s will process this string… string = gets, this
is how the server sends out the string but only the first client will
process this string…
I need the server to do something like this…

for each.connection.write(string)

does that make sense? im not sure how to accomplish this…

here is the source…

require ‘socket’

server =

loop do
Thread.start(server.accept) do |connection|
print connection
str = gets
connection.write(str)# this needs to stay alive or actave for
each connection
#---------------end of server-----------

require ‘socket’

while true
sleep 1
streamSock = “”, 1234 )
var1,var2,var3 = streamSock.recv( 100 ).chomp.split

if var1 == ‘example’
print var2+"\n"
print var3+"\n"

elsif var1 == ‘test’
print var2+"\n"
print var3+"\n"

#-----------------end client-------------


for each.connection.write(string)

I’d probably make the server less multi-threaded, something like

all_cons = []
all_cons << server.accept
all_cons << server.accept # now it has two connections.

Also look into the use of select.