EventMachine client library for WebSockets
Ruby
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
.document
.gitignore
.rspec
Gemfile
LICENSE.txt
README.md
Rakefile
VERSION
em-websocket-client.gemspec

README.md

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