Sha256: a00a362acb76e8fbb09a2bd154cb72e3a4bfb5dfb26944078e1b5530fa34064c

Contents?: true

Size: 771 Bytes

Versions: 12

Compression:

Stored size: 771 Bytes

Contents

require 'em-websocket'

module MadChatter
  module Servers
    class EventMachineWebSocket
      
      def initialize(port, main_server)
        @main_server = main_server
        @config = {
          :host => '0.0.0.0',
          :port => port
        }
      end
      
      def start
        EventMachine::WebSocket.start(@config) do |ws|

          ws.onopen do
            
            connection_id = @main_server.register_connection do |msg|
              ws.send(msg)
            end
            
            ws.onclose do
              @main_server.connection_closed(connection_id)
            end

            ws.onmessage do |msg|
              @main_server.message_received(msg)
            end

          end
        end
      end
      
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
mad_chatter-0.2.9 lib/mad_chatter/servers/em_websocket.rb
mad_chatter-0.2.8 lib/mad_chatter/servers/em_websocket.rb
mad_chatter-0.2.7 lib/mad_chatter/servers/em_websocket.rb
mad_chatter-0.2.6 lib/mad_chatter/servers/em_websocket.rb
mad_chatter-0.2.5 lib/mad_chatter/servers/em_websocket.rb
mad_chatter-0.2.4 lib/mad_chatter/servers/em_websocket.rb
mad_chatter-0.2.3 lib/mad_chatter/servers/em_websocket.rb
mad_chatter-0.2.1 lib/mad_chatter/servers/em_websocket.rb
mad_chatter-0.2.0 lib/mad_chatter/servers/em_websocket.rb
mad_chatter-0.1.3 lib/mad_chatter/servers/em_websocket.rb
mad_chatter-0.1.2 lib/mad_chatter/servers/em_websocket.rb
mad_chatter-0.1.1 lib/mad_chatter/servers/em_websocket.rb