Fenix Soft
  • 日本語ページ

スカイサーバーサービス


スカイサーバーサービス
フェニックスソフトは、より多くのお客さまによるFlashでのインタラクティブコンテンツ開発を支援することを目的とし、サーバーを公開しASPとして提供いたします!
本サービスをご利用いただくことにより、お客様はサーバーを準備することなく、Flashオンラインコンテンツを開発することができます。
正式サービスではアプリケーションの管理ツールの提供やトラフィックの開放など、お客様の開発ニーズにそったサービスを提供していく予定です。

※現在は正式サービスの前の簡易公開サーバーとして無料でご提供しております。
※ライブラリ事業ページのリニューアル作業のため、nine製品のダウンロードを一時中止とさせていただきます。


以下、スカイサーバーサービスについてご説明いたします。


以下、スカイサーバーサービスα版の使用手順をご説明いたします。
概要
スカイサーバー無料サービス(ASPサービス)は、fenixsoftが提供するnine専用の無料サーバーを使用することで、サーバー環境構築や、サーバープログラミングの必要なしにネットワークアプリケーションを作成することができます。

アプリケーションはFlashで作成することができ、作成したアプリケーションはWeb上の好きな場所に公開することができます。
利用方法
スカイサーバーα版無料サービスを利用するには、nine ASPインターフェースとnine for Flashが必要となります。これらを使用することで、nineサーバーを利用したネットワークアプリケーションを開発することができます。

nine ASPインターフェースとnine for Flashはこちらからダウンロードしてください。

環境設定
nine ASPインターフェースを使用するには、nine.swcとnineasp.swcをライブラリパスに追加します。
また、必要なFlash Player バージョンを 10.0.0 に指定する必要があります。
なお、nineasp.swcはlibディレクトリ以下にあり、nine.swcはnine for Flashのパッケージ内のlibディレクトリ以下にあります。
各開発環境の設定方法は以下の通りです。

Flash CS 4
Flex Builder 3
Flex 3 SDK

Flash CS 4の環境設定
Flash CS4画面






パブリッシュ設定>Flash>設定>ライブラリパス に
nine.swc, nineasp.swcへのパスを追加。



Flash CS4画面


パブリッシュ設定>Flash>Player にFlash Player 10 を指定。
パブリッシュ設定>Flash>SWC 書き出し のチェックをオンにする。


Flash CS4画面


パブリッシュ設定>Flash>ローカルでの再生に関するセキュリティに
ネットワークにのみアクセスするを指定。


Flex Builder 3の環境設定

Flex Builder3画面


プロパティ>Flex ビルドパス>ライブラリパス に
nine.swc, nineasp.swcへのパスを追加。


Flex Builder3画面


プロパティ>Flex コンパイラ>必要なFlash Player バージョン に
10.0.0 を指定。



Flex 3 SDKの環境設定
コマンドラインオプション -library-pathで nine.swc, nineasp.swcへのパスを指定し、 -target-player で 10.0.0 を指定します。
作り方
サーバー接続処理
1. まず、DistributionServerクラスを継承したクラスを作成します。
このクラスのオブジェクトに対しinitializeを呼び出すことでサーバー接続の初期化を行います。
initializeの引数はそれぞれ、接続先IPアドレス、ポート、認証コード、クロスドメイン用ポートを指定します。
認証コードとクロスドメイン用ポートは省略可能です。
これらの意味については後述します。

2. 定期的にDistributionServer.turnを呼ぶようにします。
これにより、実際の通信処理が行われます。
サンプルではENTER_FRAMEイベント発生時にturnを呼ぶことで、毎フレーム通信処理が行われるようにしています。
テスト方法
ローカル環境でテストを行うには、仮想サーバーを使用します。
仮想サーバーの使用方法は以下の通りです。

1. xdomaind起動
binディレクトリ以下にあるwin-xdomaind.exeを実行します。

2. 仮想サーバー起動
binディレクトリ以下にあるasp_server.exeを実行します。

3. アプリケーション実行
作成したswfファイルを実行します。
トレースに"success: connect to localhost:20000"のようなログが出れば接続成功です。

"fault: connect to localhost:20000"と表示された場合はasp_server.exeが起動していないか、接続先が間違っている可能性があります。
"エラー : ポリシーファイルを xmlsocket://localhost:843 から読み込めませんでした"と表示された場合は、xdomaindが起動していない可能性があります。
メッセージ送信
サーバーを介して他のクライアントに通信を行う際には、メッセージという、データと通信用バッファのやりとりをするクラスを使用します。 メッセージの作成方法については、nine for Flashドキュメントのメッセージ型通信チュートリアルを参照してください。 なお、kindの0と15はライブラリで予約されているため使用できませんので注意してください。

メッセージを他のクライアントに送信するには、post系メソッドを使用します。
post系メソッドには以下の3種類があります。
postTo 指定した1人に対し送信する
postMulti 複数人を指定して送信する
postAll サーバーに接続している全員に対し送信する
送信先は接続IDで指定します。
接続IDはint型の数値であり、connectionsプロパティから取得することができます。
メッセージ受信
メッセージを受信すると、handleMessageメソッドが呼ばれます。
受信処理を行う場合には、このメソッドをオーバーライドして実装を行います。
メッセージにはIDがついているので、このIDがどのメッセージクラスのIDか判定して、 そのメッセージに従った処理を行ってください。
オブジェクト共有
オブジェクト共有機能を使用すると、あるクライアントでオブジェクトのデータを変更した際に、
他のクライアントにあるオブジェクトのデータも同じ値に更新することができます。
これにより、ネットワーク経由で同一のオブジェクトを操作することができます。

また、サーバーにもオブジェクトが保存されるため、後から接続したクライアントにもデータを共有したり、
通信の切断後もオブジェクトを残しておくこともできます。

オブジェクト共有機能を使用するには、共有したいオブジェクトのクラスを
NetworkObjectクラスを子クラスとして定義します。

このクラスでTYPE_ID定数を定義しておき、
コンストラクタでsuper(TYPE_ID)を呼び出します。
TYPE_IDには、他のNetworkObjectクラスで使用していない、一意な数値にする必要があります。

共有したいデータ変数は、Property系クラスの変数として定義します。
Property系クラスにはIntProperty, UIntProperty, NumberProperty, StringPropertyがあり、
それぞれ符号あり整数、符号なし整数、浮動小数点数、文字列のデータ共有を行います。
これらの変数に対し、コンストラクタでaddPropertyを呼び出し、プロパティの追加を行います。

オブジェクトを共有するには、DistributionServer.addObjectを使用します。
共有されたオブジェクトはobjectsプロパティから取得することができます。
公開設定
nineサーバーを使用してWeb上で公開するには、ユーザー登録が必要となります。
まだ登録を行っていない場合は、network-effect.comからユーザー登録を行ってください。

次に、アプリ登録を行います。
アプリ登録を行うと、使用ポートと認証コードが発行されます。
ポートは接続先となるポート番号であり、認証コードはアプリごとに異なるチェック用コードです。
この2つが正しく設定されていないと公開サーバーには接続できません。

登録が済んでいる場合は、DistributionServer.initializeに渡す引数を以下のように設定することで、
公開サーバーに接続することができます。

第1引数 接続先IP
"nine-skyserver.com" にする

第2引数 ポート
登録されたポートにする

第3引数 認証コード
登録された認証コードにする

第4引数 クロスドメインポート
9999にする

この設定でパブリッシュを行います。
完成したSWFファイルは、Web上の自分のページにアップロードすることができます。
仮想サーバー設定
仮想サーバーは設定ファイルを書きかえることで設定を変更することができます。
設定ファイルはasp_server.confをテキストエディタで開いて編集できます。

各設定項目は以下の通りです。

port 使用ポート
authcode 認証コード


これらは設定は任意に変更できますが、クライアントの接続設定と一致している必要があるため、
公開設定と同じにしておくのを推奨します。
お問い合わせ
nineに関するお問い合わせはこちらのアドレスまでご連絡ください。
※iPhone用nineについてのお問い合わせも下記のアドレスまでご連絡ください。
コミュニティ
採用情報