1# socket example - server side using thread
2# usage: ruby tsvr.rb
3
4require "socket"
5
6gs = TCPServer.open(0)
7addr = gs.addr
8addr.shift
9printf("server is on %s\n", addr.join(":"))
10
11loop do
12  Thread.start(gs.accept) do |s|
13    print(s, " is accepted\n")
14    while line = s.gets
15      s.write(line)
16    end
17    print(s, " is gone\n")
18    s.close
19  end
20end
21