小编And*_*eas的帖子

如何使用Ruby Eventmachine编写(大)文件

我花了好几天现在为eventmachine找到了一些非echo服务器的例子,但似乎没有.假设我想编写一个接受文件并将其写入Tempfile的服务器:

require 'rubygems'
require 'tempfile'
require 'eventmachine'

module ExampleServer

  def receive_data(data)
    f = Tempfile.new('random')
    f.write(data)
  ensure
    f.close
  end

end

EventMachine::run {
  EventMachine::start_server "127.0.0.1", 8081, ExampleServer
  puts 'running example server on 8081'
}
Run Code Online (Sandbox Code Playgroud)

写入文件将阻止反应堆,但我不知道怎么做'Eventmachine风格'.我是否必须以块的形式读取数据并将每个块写入Em.next_tick块中的磁盘?

感谢Andreas的帮助

ruby eventmachine

6
推荐指数
1
解决办法
3719
查看次数

标签 统计

eventmachine ×1

ruby ×1