class Wamp::Client::Transport::FayeWebSocket
Attributes
socket[RW]
Public Class Methods
new(options)
click to toggle source
Calls superclass method
Wamp::Client::Transport::Base::new
# File lib/wamp/client/transport/faye_web_socket.rb, line 10 def initialize(options) super(options) self.socket = nil # Only make them include the gem if they are going to use it require 'faye/websocket' end
Public Instance Methods
connect()
click to toggle source
# File lib/wamp/client/transport/faye_web_socket.rb, line 18 def connect options = { :headers => self.headers } options[:proxy] = self.proxy if self.proxy != nil self.socket = Faye::WebSocket::Client.new(self.uri, [self.protocol], options) self.socket.on(:open) do |event| self.connected = true trigger :open end self.socket.on(:message) do |event| trigger :message, self.serializer.deserialize(event.data) end self.socket.on(:close) do |event| self.connected = false trigger :close, event.reason end self.socket.on(:error) do |event| trigger :error, event.message end end
disconnect()
click to toggle source
# File lib/wamp/client/transport/faye_web_socket.rb, line 42 def disconnect self.socket.close self.connected = false end
send_message(msg)
click to toggle source
# File lib/wamp/client/transport/faye_web_socket.rb, line 47 def send_message(msg) if self.connected self.socket.send(self.serializer.serialize(msg)) else raise RuntimeError, "Socket must be open to call 'send_message'" end end