overte-thingvellir/socket.rb
2013-01-09 13:15:22 -07:00

25 lines
743 B
Ruby

require 'socket'
begin
# create the UDPSocket object
sock = UDPSocket.new
# bind it to 0.0.0.0 at the given port
port = 55443
sock.bind "0.0.0.0", port
puts "UDP Socket bound to port #{port} and listening."
# while true loop to keep listening for new packets
while true do
data, sender = sock.recvfrom 1024
# puts "#{sender[3]} sent #{data} on port #{sender[1]}"
puts "Recieved #{data.size} from #{sender[3]}"
rand_photo_url = "http://d4gpsb1dbo4rf.cloudfront.net/photo#{rand(11)}.jpg"
puts "Sending #{rand_photo_url.size} back"
sock.send rand_photo_url, 0, sender[3], sender[1]
end
rescue SystemExit, Interrupt => e
puts
puts "Okay, fine. I'll stop listening."
sock.close
end