Ticket #160: fake-shoutserver.rb

File fake-shoutserver.rb, 0.5 kB (added by alban, 1 year ago)

A fake shoutserver in ruby

Line 
1 require 'socket'
2 include Socket::Constants
3
4 socket = Socket.new( AF_INET, SOCK_STREAM, 0 )
5 sockaddr = Socket.pack_sockaddr_in( 8000, 'localhost' )
6 socket.bind( sockaddr )
7 socket.listen( 5 )
8 client, client_sockaddr = socket.accept
9
10
11 while (line = client.readline.chomp) != '' do
12   puts "The client said, '#{line}'"
13 end
14
15 client.puts "HTTP/1.0 200 OK\r\n\r\n"
16
17 File.open("fake-shoutserver.ogg", "wb") do |file|
18   while read = client.read(1024)
19     puts read.size
20     file.write(read)
21     file.flush
22   end
23 end
24
25 socket.close