Sha256: 59ef950273216af03c4d30d918b6add3c5a5f9b62006f954c1bf0a3252ffd215

Contents?: true

Size: 1.27 KB

Versions: 5

Compression:

Stored size: 1.27 KB

Contents

=begin
= dangoサーバー
=end

class DangoServer < DangoServerFramework
  # サーバー起動時のインスタンス変数などを定義するメソッド
  # ここで定義されるインスタンス変数はサーバー全体で共有される
  def dango_server_init()
    shared[:sids] = []
  end
  
  # クライアント接続時に呼び出されるメソッド
  def dango_connect() 
    shared.transaction(:sids) do |sids|
      sids.push(session[:sid])
      shared.commit(sids)
    end
    
    send_obj = {:sids => shared[:sids]} # 全員に現在のsid一覧を送る
    send_notice(:notice_current_sids, shared[:sids], send_obj)
  end
  
  # クライアント接続解除時に呼び出されるメソッド
  def dango_close() 
    shared.transaction(:sids) do |sids|
      sids.delete(session[:sid])
      shared.commit(sids)
    end
    
    send_obj = {:sids => shared[:sids]} # 全員に現在のsid一覧を送る
    send_notice(:notice_current_sids, shared[:sids], send_obj)
  end
  
  # オブジェクトを特定sidに送信する
  def dango_receive_send_object(rec_obj)
    send_obj = rec_obj["object"]
    send_obj[:_from_sid] = session[:sid]
    send_notice(:notice_send_object, rec_obj["sids"], send_obj)
  end
end


Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
dango_generator-0.5.0 templates/sample_as3mode/dango/server/99_dango_server.rb
dango_generator-0.4.5 templates/sample_as3mode/dango/server/99_dango_server.rb
dango_generator-0.4.6 templates/sample_as3mode/dango/server/99_dango_server.rb
dango_generator-0.4.7 templates/sample_as3mode/dango/server/99_dango_server.rb
dango_generator-0.4.8 templates/sample_as3mode/dango/server/99_dango_server.rb