home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / rbemx144.zip / ruby-1.4.4 / sample / tsvr.rb < prev    next >
Text File  |  1999-01-20  |  409b  |  24 lines

  1. # socket example - server side using thread
  2. # usage: ruby tsvr.rb
  3.  
  4. require "socket"
  5. require "thread"
  6.  
  7. gs = TCPserver.open(0)
  8. addr = gs.addr
  9. addr.shift
  10. printf("server is on %d\n", addr.join(":"))
  11.  
  12. while TRUE
  13.   ns = gs.accept
  14.   print(ns, " is accepted\n")
  15.   Thread.start do
  16.     s =    ns            # save to thread-local variable
  17.     while s.gets
  18.       s.write($_)
  19.     end
  20.     print(s, " is gone\n")
  21.     s.close
  22.   end
  23. end
  24.