Class: Quark::Server::WebsocketServer

Inherits:
BaseServer
  • Object
show all
Defined in:
lib/quark/servers/websocket.rb

Defined Under Namespace

Classes: WebsocketProcessor

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseServer

start

Constructor Details

#initialize(options = nil) ⇒ WebsocketServer

Returns a new instance of WebsocketServer.



20
21
22
# File 'lib/quark/servers/websocket.rb', line 20

def initialize(options=nil)
  @_options = options || Quark::Config.get("quark.websocket",{})
end

Class Method Details

.to_sObject



47
48
49
# File 'lib/quark/servers/websocket.rb', line 47

def self.to_s()
  "Websocket"
end

Instance Method Details

#runObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/quark/servers/websocket.rb', line 24

def run()
  puts "Starting #{self.class.to_s} server on #{@_options.get(:address)}:#{@_options.get(:port)}..."

  EM::WebSocket.run({
    :host => @_options.get(:address, "127.0.0.1"),
    :port => @_options.get(:port, 12181).to_i
  }) do |ws|
    processor = WebsocketProcessor.new(ws)

    ws.onopen do
      processor.post_init()
    end

    ws.onclose do
      processor.unbind()
    end

    ws.onmessage do |data|
      processor.receive_data(data)
    end
  end
end