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.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs