mirror of
https://github.com/faye/websocket-driver-ruby.git
synced 2025-11-01 13:59:38 +00:00
28 lines
615 B
Ruby
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)
|
|
}
|