mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* sample/tsvr.rb: ditto. * sample/dualstack-httpd.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			20 lines
		
	
	
	
		
			352 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
	
		
			352 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# 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(":"))
 | 
						|
 | 
						|
loop do
 | 
						|
  Thread.start(gs.accept) do |s|
 | 
						|
    print(s, " is accepted\n")
 | 
						|
    while line = s.gets
 | 
						|
      s.write(line)
 | 
						|
    end
 | 
						|
    print(s, " is gone\n")
 | 
						|
    s.close
 | 
						|
  end
 | 
						|
end
 |