Sha256: 0c4c0452294b5a03c5334a1c67f6d7b1a9cfb19bbf4918d0ff233c58ff8fbe63

Contents?: true

Size: 825 Bytes

Versions: 1

Compression:

Stored size: 825 Bytes

Contents

require 'rack'
require 'rack/websocket'
require 'json'
module WebsocketRails
  class ConnectionManager < Rack::WebSocket::Application
    def initialize(*args)
      @dispatcher = Dispatcher.new(self)
      super
    end
  
    def on_open(env)
      puts "Client connected\n"
      @dispatcher.dispatch('client_connected',{},env)
    end
    
    def on_message(env, msg)
      @dispatcher.receive( msg, env )
    end
    
    def on_error(env, error)
      puts "Error occured: " + error.message
    end
    
    def on_close(env)
      close_connection(env['websocket.client_id'])
      @dispatcher.dispatch('client_disconnected',{},env)
      puts "Client disconnected\n"
    end
  
    def send_message(msg,uid)
      send_data msg, uid
    end
  
    def broadcast_message(msg)
      send_data_all msg
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
websocket-rails-0.0.1 lib/websocket_rails/connection_manager.rb