Как создать сервер ruby ​​с нуля? - PullRequest
0 голосов
/ 18 марта 2012

Я хочу узнать, как создать простой локальный сервер в ruby, например, используя webbrick. Основной целью здесь является то, что я создаю веб-приложение, и я хочу сделать это самостоятельно, без использования какой-либо существующей инфраструктуры, чтобы я мог изучить внутреннюю работу.

1 Ответ

3 голосов
/ 18 марта 2012

Я думаю, вам просто нужно начать это делать.

Мой стартовый сервер:

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. Но нет смысла размещать здесь их код.

Я только что показал вам действительно основы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...