暇つぶしにRubyを使ってHTMLサーバーでも書いてみた
RubyでWebサーバを作る - 楽天ブログ(Blog)
http://plaza.rakuten.co.jp/juniq/
上記のサイトを参考にしてRubyでのHttpサーバーを書いてみた。
結論からまだ、未完成
起動させて localhost:8080にアクセスすると
自動的に、同じファイル内のindex.htmlを自動的に返して、
ファイルが存在しない場合は、一応反応を見せるプログラム
仕事で、socketを使って機器を制御する機会があったので、暇つぶしに組んでみた。
結構難しいや
require 'socket'
server = TCPServer.new(8080)
bassic_file = "."
while
socket =server.accept
Thread.new{
line=socket.gets
begin
request = line.split(" ")
puts line
request_cmd = request[0]
request_url = request[1]
buf = request_url.split("?")
request_url = buf[0]
data = buf[1]
if request_url == "/" then
request_url = request_url + "index.html"
end
request_url = bassic_file + request_url #ファイル位置調整
puts request_url
if FileTest.file?(request_url)
f=File.open(request_url, "r")
line = f.gets
while line
socket.print line
line = f.gets
end
f.close
else #反応がないときの返す文字列
socket.print "
socket.print "test\n"
socket.print ""
end
rescue => exp
socket.print"エラーが発生しました。"
end
socket.close
}
end
server.close