home > 過去ログ(2004年以前) > FACEs Connector (version 0.03) について
2002/07/10

FACEs Connector (version 0.03) について


  • 概要
    FACEs Connector は、FACEsサーバとのやり取りをコンポーネント化することによって、XMLSocket接続に関する煩雑な手続きを簡便化しようという試みです。ユーザーはXMLをほとんど意識することなく、FACEsサーバとのやり取りを実現することができます。今回、FlashMXコンポーネントの有益性の検証も含めて制作しました。まだまだ不完全ですが、不具合、洗練の余地があれば教えていただければ幸いです。

  • サンプル

  • flaファイル(zip形式)
  • 更新履歴
    ver 0.03 (2002.09/02) :
    • registFuncを2度以上登録すると、前回の登録が全て消されてしまうバグの修正
    • 内部コードの整理、簡潔化
    • FACEsConnector.send_t()ファンクションの追加
    ver 0.02 (2002.08/02) :
    • registFunc時のオプション設定により、ネストされたXMLも引数として渡せるようになった。
  • 使い方
    1. コンポーネントパラメータ設定
      ライブラリ上のFACEsConnectorをステージ上に配置します。ステージ上のFACEsConnectorに適当なインスタンス名をつけます。コンポーネントパラメータを設定します。
      • サーバ名
        FACEsサーバのアドレス
      • ポート番号
        FACEsサーバのポート番号
      • コンテンツ名
        FACEs上でデータを共有する場所の名前
      • traceモニター
        MX上でプレビューするときに、XMLの流れをtraceするかしないか
    2. ノードネームに対応するファンクションの設定
      • FACEsサーバからXMLが返されたとき、FACEsConnectorはXMLのノードネームに対応するファンクションを実行します。ここでは、そのファンクションを定義します。
        function funcName(attr){}
        ノードネームに対応させたいファンクションを定義します。attrにはノード内の要素名:要素がObjectオブジェクトで渡されます。FACEsConnector.registFunc()で設定することでattrにXMLオブジェクト自体を渡すことも出来ます。
      • XMLのノードネームと、それに対応して実行するファンクション名を関連づけてFACEsConnectorに登録ます。
        funcset = {
        nodeName : "funcName" ,
        nodeName : [ "funcName" , boolean ] ,
        ...
        }
        FACEsConnector.registfunc(funcset,funcPath);

        nodeNameにノードネームを、funcNameに対応するファンクション名を設定してください。funcNameは文字列です。ファンクションに渡す引数をXMLobjectにする時はnodeNameの値を配列で指定して、2つ目のパラメータにtrueを指定してください。ネストされたXMLを扱いたい場合などに指定してください。ファンクションに対してXMLの要素のみをobjectとして渡す場合は、falseを指定するか、もしくは配列で指定せずfuncNameのみを指定してください。funcPathは、funcNameのあるレベルのパスです。registFunc()するパスとfuncNameのパスが同一の場合は、funcPathはthisです。

    3. 接続
      FACEsConnector.connect();
      コンポーネントパラメータで設定した値をもとに、FACEsサーバに接続し、さらにコンテンツ名で共通の部屋に接続します。共通の部屋に接続すると、ノードネーム'N'が返されるので、registFuncするファンクションは、実際にはかならず'N'を処理するものが必要となるでしょう。

  • その他のファンクション
    • FACEsConnector.send(nodeName[,attr])
      FACEsにデータを送ります。nodeNameはXMLのノードネーム、attrにはXMLの要素で、要素名:要素の値をセットにしたObjectオブジェクトを指定します。
    • FACEsConnector.send_t(str)

    • FACEsConnectorに、データを送ります。引数はXMLテキストで渡します。FACEsConnector.send()と違い、ObjectをXMLに書き直す処理を省くため、高速に処理されます。処理速度が重視される場合や、単純にXMLで書いた方が簡単な場合、ネストされた複雑なXMLを送信する場合は、こちらを利用してください。
    • FACEsConnector.removeFunc(nodeName)
      ノードネームと対応するファンクションの関連を削除します。nodeNameに関連を削除したいノードネームを指定します。nodeNameに"ALL"を指定すると、すべての関連が削除されます。
    • FACEsConnector.close()
      FACEsサーバから切断します。