) так, чтобы он работал в отдельном потоке (но я не знаю, насколько эффективным является это решение).

ратил несколько дней на то, чтобы найти примеры не-эхо-серверов для eventmachine, но, похоже, их просто нет. Допустим, я хочу написать сервер, который принимает файл и записывает его в 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'
}

Запись в файл блокирует реактор, но я не понимаю, как это сделать, 'стиль Eventmachine'. Должен ли я читать данные порциями и записывать каждый порции на диск в блоке Em.next_tick?

Спасибо за любую помощь Андреас

Ответы на вопрос(4)

Ваш ответ на вопрос