我尝试启动eventmachine httpserver示例,但我在puts
方法中添加了简单的process_http_request
。令我惊讶的是,当我从浏览器访问localhost:8080时,我在终端中看到puts
输出两次。
为什么要打印两次?这是一个错误吗?也许我在eventmachine中误解了一些东西。 你可以在下面看到我的例子。
require 'eventmachine'
require 'evma_httpserver'
class MyHttpServer < EM::Connection
include EM::HttpServer
def post_init
super
no_environment_strings
end
def process_http_request
response = EM::DelegatedHttpResponse.new(self)
response.status = 200
response.content_type 'text/html'
response.content = '<center><h1>Hi there</h1></center>'
puts 'my_test_string'
response.send_response
end
end
EM.run do
EM.start_server '0.0.0.0', 8080, MyHttpServer
end
答案 0 :(得分:1)
第一个是对favicon的请求。第二个是页面正文的请求。如果你想把它称为bug,那就是你的bug,而不是图书馆的。