Class: Dist::Client
Instance Method Summary collapse
-
#initialize(address) ⇒ Client
constructor
A new instance of Client.
Methods included from Encoding
Constructor Details
#initialize(address) ⇒ Client
Returns a new instance of Client.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/client.rb', line 13 def initialize(address) leave_a_will host, port = address.split(':') @socket = TCPSocket.new(host, port.to_i) @socket << Messages::REQUEST_ROLE Messages::SEND_ROLE_CONFIRM role = receive_string puts "Your role: #{role.dump}" @socket << Messages::CONFIRM_ROLE send_string @socket, role # spin up rack app require "roles/#{role}/app" Thread.new { Rack::Handler::Mongrel.run App.new, :Port => 9501 } while true Messages::REQUEST_HEARTBEAT @socket << Messages::HEARTBEAT end rescue UnexpectedMessage puts 'Disconnected.' end |