2010-10-12 76 views
0

我需要如何在ruby中编写web /应用程序服务器?

  • 运行ant remotelly
  • 创建/修改XML文件蚂蚁
  • 从蚂蚁的执行回传结果

,所以我想我会写一个网页/应用程序服务器在红宝石。但我不知道从哪里开始。

运行ant的计算机是Win XP SP3,没有网络服务器或其他任何运行。

我发现这个代码,但不知道哪个部分要修改,所以我做我想做的。假设我想运行“dir”命令并返回到该命令的浏览器结果。

require 'socket' 
webserver = TCPServer.new('127.0.0.1', 7125) 
while (session = webserver.accept) 
    session.print "HTTP/1.1 200/OK\r\nContent-type:text/html\r\n\r\n" 
    request = session.gets 
    trimmedrequest = request.gsub(/GET\ \//, '').gsub(/\ HTTP.*/, '') 
    filename = trimmedrequest.chomp 
    if filename == "" 
     filename = "index.html" 
    end 
    begin 
     displayfile = File.open(filename, 'r') 
     content = displayfile.read() 
     session.print content 
    rescue Errno::ENOENT 
    session.print "File not found" 
    end 
    session.close 
end 

回答

1

Ruby包含一个Web服务器(WEBrick),所以您实际上并不需要使用您发布的代码。 Sinatra专为编写非常小的Web应用程序而设计,它允许您用几行代码编写Web应用程序,并自动使用提供的Web服务器。

+0

听起来不错。我找不到任何我会用的例子。任何应用程序的样本,其中将有一个HTML页面的链接和每个链接意味着红宝石会调用一个外部程序? – Radek 2010-10-13 03:34:49

+0

这是我正在寻找fooooor http://net.tutsplus.com/tutorials/ruby/an-introduction-to-haml-and-sinatra/(谢谢蒂姆) – Radek 2010-10-13 05:49:15

+1

@Radek:我想说的一件事是isn在那篇文章中:如果你使用Shotgun,开发一个Sinatra应用程序会更快,更愉快。这会在您每次保存更改时自动重新加载您的代码,以便您不必在每次编辑时都启动和停止应用程序。 – 2010-10-13 08:48:53

1

您可以使用Ruby Web服务器,如机架,使用WEBrick,杂种,你也可以使用Ruby on Rails的,西纳特拉你想要什么。

当然,您可以从头开始编写代码,但不宜自行编写整个代码。

相关问题