适用于 Ruby 的强大 TCP 服务器



有人能为Ruby推荐一个健壮的TCP服务器(如JavaScript的Node.js)吗?我知道有一个可用于Ruby的TCPServer类,但我需要更健壮的东西,因为我不想编写代码来处理多个客户端和多线程等。Ruby TCP服务器是否有任何类似于Node.js的库/框架?

听起来你想要EventMachine或Celluloid。EM 是事件驱动的并发,其操作与 node.js 非常相似。赛璐珞是更传统的多线程。

如果您使用的是 MRI,我建议您先查看 EM,因为 MRI Ruby 的并发模型存在局限性。如果您使用的是JRuby,那么赛璐珞可能是正确的解决方案。

看看Sinatra,特别是他们的"自述文件"。它非常易于使用,可以处理多个客户端和多线程,并且易于设置。

正如他们在其网站的首页上显示的那样,将其放入名为"hi.rb"的文件中:

require 'sinatra'
get '/hi' do
  "Hello World!"
end

然后,在命令行类型:

gem install sinatra
ruby hi.rb

你会离开并运行。如果您使用 gem install thin 安装 Thin,Sinatra 将使用它作为其底层 HTTPd,您将获得事件机器的基础。

据我所知,Sinatra是用Ruby在网上获取内容的最快,最简单的方法,而且它非常强大。对于正常的内部使用,它很棒。

作为辛纳屈之上的下一步,看看帕德里诺。它建立在Sinatra之上,但更像Rails。

我还建议查看 HAML 来生成您的 HTML 内容。这是一个很棒的工具。

最新更新