Skip to content

Instantly share code, notes, and snippets.

@mattetti
Created April 21, 2011 19:23
Show Gist options
  • Save mattetti/935288 to your computer and use it in GitHub Desktop.
Save mattetti/935288 to your computer and use it in GitHub Desktop.
# Ruby 1.9 required
require 'socket'
port = ARGV.shift || 10075
server = TCPServer.new("0.0.0.0", port)
puts "Server running on #{server.addr.last}:#{server.addr[1]}"
# Serve the requests
begin
while sock = server.accept_nonblock
loop do
pair = sock.recvmsg_nonblock(1024)
puts data = pair[0]
sock.print data
sock.print "\n"
break if data.size < 1024
end
puts "Done serving the request"
sock.close
end
rescue IO::WaitReadable, Errno::EINTR
IO.select([server])
retry
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment