Files
2017-08-08 08:55:13 +01:00

28 lines
615 B
Ruby

require 'bundler/setup'
require 'eventmachine'
require 'websocket/driver'
require 'permessage_deflate'
module Connection
def initialize
@driver = WebSocket::Driver.server(self)
@driver.add_extension(PermessageDeflate)
@driver.on(:connect) { |e| @driver.start if WebSocket::Driver.websocket? @driver.env }
@driver.on(:message) { |e| @driver.frame(e.data) }
@driver.on(:close) { |e| close_connection_after_writing }
end
def receive_data(data)
@driver.parse(data)
end
def write(data)
send_data(data)
end
end
EM.run {
EM.start_server('127.0.0.1', ARGV[0], Connection)
}