【发布时间】:2011-03-22 03:42:55
【问题描述】:
更正:
具体来说,我希望通过 Ruby on Rails 控制器启动和停止 EventMachine (EM)。
(有人告诉我,'Thin' 可以很好地解决这个问题。)
注意:
这个 EM 服务器与运行 Ruby on Rails 应用程序的 Mongrel 服务器是分开的。 (EM 服务器正在接受来自 Arduino 微控制器的连接。)
作为服务器运行'Thin' .. 我应该能够接受 HTTP 请求和 Arduino 的连接。
# Starts Server
def start_control_server
EventMachine::run {
@EchoServer = EventMachine::start_server "0.0.0.0", 40013, EchoServer
}
end
# Attempts ( fails ) to stop server
def stop_control_server
EventMachine.stop_server(@EchoServer)
end
如果您推荐其他服务器而不是直接的 EventMachine,请提供执行上述代码的代码。
此处提供完整的控制器代码:http://pastie.org/1698383
【问题讨论】:
-
EventMachine.stop_event_loop 来自 EM 文档:“它会导致处理循环停止执行,这将导致所有打开的连接和接受服务器停止运行并关闭。” ** 尚未验证 **
标签: ruby-on-rails ruby arduino thin eventmachine