RosettaCodeData/Task/Echo-server/Ruby/echo-server-2.rb

19 lines
385 B
Ruby

require 'socket'
Socket.tcp_server_loop(12321) do |conn, addr|
Thread.new do
client = "#{addr.ip_address}:#{addr.ip_port}"
puts "#{client} is connected"
begin
loop do
line = conn.readline
puts "#{client} says: #{line}"
conn.puts(line)
end
rescue EOFError
conn.close
puts "#{client} has disconnected"
end
end
end