次の EventMachine ベースの Ruby クライアントがありますが、サーバーに接続しても何も出力されません。
EventMachine.run do
conn = EventMachine::HttpRequest.new('http://localhost:10000')
http = conn.get
http.stream do |data|
puts data # THIS SHOULD BE OUTPUTTING SOMETHING
end
trap("INT") { puts 'INT'; http.close; EventMachine.stop }
trap("TERM") { puts 'TERM'; http.close; EventMachine.stop }
end
そしてサービス:
module Simulation
class QuoteService < EM::Connection
def post_init
puts "CONNECTION ESTABLISHED" # THIS DOES OUTPUT
EventMachine.add_periodic_timer(1) do
puts "test data" # THIS DOES OUTPUT
send_data("test data")
end
end
end
end
EventMachine.run do
Signal.trap("INT") { EventMachine.stop }
Signal.trap("TERM") { EventMachine.stop }
EventMachine.start_server('0.0.0.0', 10000, Simulation::QuoteService)
end
サービスに何か問題があると思います。クライアントが何も出力しない理由はありますか?