brendan.mcdevitt.tech/vendor/bundle/ruby/2.6.0/gems/em-websocket-0.5.1/examples/ping.rb
2019-04-30 01:38:19 -05:00

24 lines
566 B
Ruby

require File.expand_path('../../lib/em-websocket', __FILE__)
EventMachine::WebSocket.start(:host => "0.0.0.0", :port => 8080, :debug => false) do |ws|
timer = nil
ws.onopen {
puts "Ping supported: #{ws.pingable?}"
timer = EM.add_periodic_timer(1) {
p ["Sent ping", ws.ping('hello')]
}
}
ws.onpong { |value|
puts "Received pong: #{value}"
}
ws.onping { |value|
puts "Received ping: #{value}"
}
ws.onclose {
EM.cancel_timer(timer)
puts "WebSocket closed"
}
ws.onerror { |e|
puts "Error: #{e.message}"
}
end