2012-03-18 11 views
0

私は、おそらくwebbrickを使って、ルビーで単純なローカルサーバーを作成する方法を学びたいと思っています。ここでの主な目的は、Webアプリケーションを作成していて、既存のフレームワークを使用せずに自分でやりたいから、内部の仕組みを学ぶことができます。Rubyサーバをゼロから作成するには?

+0

基本のための既存のフレームワークを見たり、例を簡単に検索したりしていましたが、以前はいくつかありました。私は間違いなく100-200行のコードの中でサイトフロー/フォーム/などを素早く試作するDSLと一緒に本当に安っぽいシナトラを再作成しました。それは良い運動です。 –

+0

私はグーグルでしたが、探していたwhtaを見つけることができませんでした。それらはすべてレールに関連しており、Linux上にレールをインストールしています。 – monk

+0

チェックhttp://www.scribd.com/doc/20755982/The-Ruby-1- 9-x-Web-Servers-Booklet –

答えて

3

私はあなたがそれをやり始める必要があると思います。

私の出発サーバ:ファイル名に基づいて、もちろん

require 'socket' 

server = TCPServer.new '127.0.0.1', 8888 

while session = server.accept 
    session.print "HTTP/1.1 200/OK\r\nContent-type:text/html\r\n\r\n" 
    if request = session.gets 
    filename = request.gsub(/GET\ \//, '').gsub(/\ HTTP.*/, '').chomp 
    filename = "index.html" if filename == "" 
    session.print "You asked for a file called #{filename}" 
    end 
    session.close 
end 

、あなたがファイルを取得し、多分何かのように、クライアントに送信しようとする必要があります:あなたがいる場合も

displayfile = File.open(filename, 'r') 
content = displayfile.read() 
session.print content 

学びたいだけでなく、コーディングを始めてさまざまなことを試してみると、githubのウェブサーバのソースコードを見ることもできます。しかし、ここにそのコードを掲載することには意味がありません。

私はちょうどあなたに本当の基本を示しました。

+0

初めてコードを実行しますが、firefoxにはUnable to connectと表示され、ポート番号を変更しても実行できませんでした。どうしたの ? – monk

関連する問題