我想学习如何在ruby中创建一个简单的本地服务器,就像使用webbrick一样。这里的主要目的是创建一个Web应用程序,我想在不使用任何现有框架的情况下自己完成,这样我就可以学习内部工作。
答案 0 :(得分: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上的一些web服务器的源代码。但是,在这里发布他们的代码毫无意义。
我刚刚向您展示了真正的基础知识。