summaryrefslogtreecommitdiffstats
path: root/sample/tsvr.rb
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-01-16 12:13:05 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-01-16 12:13:05 +0000
commit99d0354e89aefdb6373dbeb22506216b8790a0bd (patch)
treeb3c086e437cab449f90ba637710daed0ddfec4c4 /sample/tsvr.rb
parent502e7547b5c274c51365d11fdfe0e69ee9aa5a52 (diff)
downloadruby-99d0354e89aefdb6373dbeb22506216b8790a0bd.tar.gz
ruby-99d0354e89aefdb6373dbeb22506216b8790a0bd.tar.xz
ruby-99d0354e89aefdb6373dbeb22506216b8790a0bd.zip
Initial revision
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@2 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'sample/tsvr.rb')
-rw-r--r--sample/tsvr.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/sample/tsvr.rb b/sample/tsvr.rb
new file mode 100644
index 000000000..fbc6545bb
--- /dev/null
+++ b/sample/tsvr.rb
@@ -0,0 +1,23 @@
+# socket example - server side using thread
+# usage: ruby tsvr.rb
+
+require "socket"
+require "thread"
+
+gs = TCPserver.open(0)
+addr = gs.addr
+addr.shift
+printf("server is on %d\n", addr.join(":"))
+
+while TRUE
+ ns = gs.accept
+ print(ns, " is accepted\n")
+ Thread.start do
+ s = ns # save to dynamic variable
+ while s.gets
+ s.write($_)
+ end
+ print(s, " is gone\n")
+ s.close
+ end
+end