=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