39.3.1.1. Email „Re: TCP Server“ od Bulata Ziganshina ()

Hello Shannon,

Friday, December 13, 2002, 6:20:29 PM, you wrote:
SF> Can anyone show me how to do this by writing a echo server which can connect
SF> multiple clients? And is there events like "on_connect" "on_disconnect"
SF> available in ruby?

from ruby distribution :)

# socket example - server side using thread
# usage: ruby tsvr.rb

require "socket"

gs = TCPserver.open(0)
addr = gs.addr
addr.shift
printf("server is on %s\n", addr.join(":"))

while TRUE
    Thread.start(gs.accept) do |s|
        print(s, " is accepted\n")
        while s.gets
            s.write($_)
        end
        print(s, " is gone\n")
        s.close
    end
end

--
Best regards
 Bulat                           mailto:bulatz@integ.ru
Licence Creative Commons
Tento dokument Ruby, jehož autorem je Radek Hnilica, podléhá licenci Creative Commons Uveďte autora-Nevyužívejte dílo komerčně-Zachovejte licenci 3.0 Česká republika .