Sha256: fde7dcad6e96ec1d95657c511f577544fb08ba9ed1da65bfe1bd9862e553beca

Contents?: true

Size: 917 Bytes

Versions: 5

Compression:

Stored size: 917 Bytes

Contents

require 'rubyfox/client'

unless ARGV.size == 3
  abort "usage: #{$0} username password zone"
end

unless ENV['SF_DIR']
  abort "Point SF_DIR to your SmartFox installation"
end

Rubyfox::Client.require_libs(ENV['SF_DIR'] + "/lib")
Rubyfox::Client.boot!

Rubyfox::Client.new(:debug => true) do |client|
  client.on_event :connection do
    client.send :login, *ARGV
  end

  client.on_event :connection_attempt_http, :connection_resume, :connection_retry do |event|
    p :problems => event
  end

  client.on_event :login do |event|
    p :login => event
    client.send_extension "KeepAlive"
  end

  client.on_event :login_error, :connection_lost, :logout do |event|
    p event
    client.exit
  end

  client.on_extension "KeepAlive" do |request|
    next_in = request.params[:next_in]
    p :keep_alive => next_in
    Thread.start do
      sleep next_in
      client.send_extension "KeepAlive"
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rubyfox-client-0.3.0-java examples/keep_alive.rb
rubyfox-client-0.3.0.pre2-java examples/keep_alive.rb
rubyfox-client-0.3.0.pre1-java examples/keep_alive.rb
rubyfox-client-0.2.0-java examples/keep_alive.rb
rubyfox-client-0.1.0-java examples/keep_alive.rb