em-websocket-client
This gem implements a simple websocket client inside EventMachine. This might be useful for testing web socket servers or consuming WebSocket APIs. In particular it supports the RFC6455 version of the protocol, which is also implemented in Chrome and Safari. At this time, the wss (WebSocket over SSL) protocol is not supported.
Using the library is simple:
require 'em-websocket-client'
EM.run do
conn = EventMachine::WebSocketClient.connect("ws://echo.websocket.org/")
conn.callback do
conn.send_msg "Hello!"
conn.send_msg "done"
end
conn.errback do |e|
puts "Got error: #{e}"
end
conn.stream do |msg|
puts "<#{msg}>"
if msg.data == "done"
conn.close_connection
end
end
conn.disconnect do
puts "gone"
EM::stop_event_loop
end
end
# prints out:
# <Hello!>
# <done>
# gone