私は、おそらくwebbrickを使って、ルビーで単純なローカルサーバーを作成する方法を学びたいと思っています。ここでの主な目的は、Webアプリケーションを作成していて、既存のフレームワークを使用せずに自分でやりたいから、内部の仕組みを学ぶことができます。Rubyサーバをゼロから作成するには?
0
A
答えて
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
関連する問題
- 1. ウェブサイトをゼロから作成する
- 2. ゼロからテキスト/コードエディタを作成する
- 3. Androidチャットアプリケーションをゼロから作成する
- 4. C#でゼロからDBFファイルを作成するには?
- 5. WSO2 IOTS:ゼロから新しいプロジェクトを作成するには
- 6. liferayテーマをゼロから作成するには?
- 7. Wicket CaptchaImageResource Linuxサーバで長さゼロの画像を作成する
- 8. WebBrowserボタンをゼロから作成
- 9. Xamarin.Formsのカスタムコントロールをゼロから作成
- 10. ActivityNotFoundExceptionを作成せずにゼロから明示的なインテントを作成する
- 11. AWS Ubuntu 12.04 x64 AMIをゼロから作成する方法は?
- 12. Rubyカスタムオブジェクトのドキュメントから範囲を作成するには?
- 13. Dcmtkを使用してゼロからDicomImageを作成する
- 14. DirectSoundでゼロからサウンドを作成する
- 15. ゼロからモデルを作成する方法
- 16. 1.9.1でゼロからマゼンタテーマを作成する方法
- 17. ゼロからC++バックグラウンドMFCアプリケーションを作成する
- 18. ゼロからASP.NET MVCアプリを作成する
- 19. ゼロからmax関数を作成する(python)
- 20. マルチビューカレンダーをゼロから作成する。週単位のビューアルゴリズム
- 21. 独自のキャッシング・プロキシーをゼロから作成する
- 22. ミラーで作成した辞書からゼロ値をフィルタリングする
- 23. SQL SELECTクエリからSQLサーバにExcelバイナリを作成する
- 24. コマンドラインでソリューションファイルを生成する(ゼロから新しいソリューションを作成する)?
- 25. Rubyロガーはゼロです
- 26. rubyでurl_shortnerを作成するには
- 27. rubyでロギングプログラムを作成するには?
- 28. Rubyのファイル名から動的にautoloadコマンドを作成する
- 29. 端末エミュレータをゼロから書く方法(またはゼロから作成しない方法)
- 30. BDDを使用してゼロからWebアプリケーションを作成する方法は?
基本のための既存のフレームワークを見たり、例を簡単に検索したりしていましたが、以前はいくつかありました。私は間違いなく100-200行のコードの中でサイトフロー/フォーム/などを素早く試作するDSLと一緒に本当に安っぽいシナトラを再作成しました。それは良い運動です。 –
私はグーグルでしたが、探していたwhtaを見つけることができませんでした。それらはすべてレールに関連しており、Linux上にレールをインストールしています。 – monk
チェックhttp://www.scribd.com/doc/20755982/The-Ruby-1- 9-x-Web-Servers-Booklet –