jp.wda.gpss.system
クラス FesiJsSocklet

java.lang.Object
  拡張jp.wda.gpss.GeneralSocklet
      拡張jp.wda.gpss.system.ScriptSocklet
          拡張jp.wda.gpss.system.FesiJsSocklet
すべての実装インタフェース:
AttributeContainer, InitParamContainer, java.io.Serializable, Socklet

public class FesiJsSocklet
extends ScriptSocklet

[ OProject GPSS for FlashMX ] FlashMX用汎用ソケットサーバ
ECMAScriptSockletクラス
このクラスは、ECMAScriptによるサーバーサイドスクリプティングの試験実装です。
このクラスは、FESIによる実装になっています。

以下の4つの関数をスクリプトファイルに定義するすることによって、 Sockletの動作を比較的容易に設定することができます。

function onInit() アプリケーション初期化処理を定義します。
function onConnect(client) クライアントの接続のチェックおよび初期化を定義します。
function onDisconnect(client) クライアント接続が切断される場合に実行する処理を定義します。
function onCommand(client,command) クライアントからデータを受信した場合に実行する処理を定義します。

スクリプトファイルはscriptsディレクトリ内に拡張子".fjs"で保存することにより、 サーバー起動時に自動的に読み込まれます。

バージョン:
1.04 2003/11/27 Modified by A M O I
作成者:
(・3・) ◆RTquCoolEE
関連項目:
直列化された形式

フィールドの概要
 
クラス jp.wda.gpss.GeneralSocklet から継承したフィールド
progress
 
コンストラクタの概要
FesiJsSocklet()
          推奨されていません。  
 
メソッドの概要
 void addScriptSocklet(java.util.List links, java.lang.String sockletName, java.lang.String fileName)
          推奨されていません。 外部ScriptSockletを追加配備するメソッド。
 void addSocklet(java.util.List links, java.lang.String sockletName, java.lang.String className)
          推奨されていません。 外部Sockletを追加配備するメソッド。
 boolean allowAccessFromOtherSocklet(Socklet from)
          推奨されていません。 他のSockletからのアクセスを許可するかどうかを確認します。
 java.lang.Object call(java.lang.String functionName, java.lang.Object[] args)
          推奨されていません。 スクリプト関数を呼び出すメソッド。
 boolean checkConnection(SocketProcessor client)
          推奨されていません。 接続用初期コマンド受信後、クライアントの検査を行うためにメソッド。
 void destroy()
          推奨されていません。 Sockletがサービスを停止する際に、待受けメインサーバによって呼び出されます。
 boolean doCommand(SocketProcessor client, java.lang.String command)
          推奨されていません。 コマンドを処理するためのメソッド。
 java.lang.Object get(java.lang.String variableName)
          推奨されていません。 スクリプト変数を取得するメソッド。
 boolean importSource(java.lang.String fileName)
          推奨されていません。 ファイルを読み込みスクリプトとして評価・実行するメソッド。
 void init(java.util.List linkedSocklets)
          推奨されていません。 ECMAScriptSockletを初期化するためのメソッド。
 void preRemoveClient(SocketProcessor client)
          推奨されていません。 クライアント削除前に呼び出されるメソッド。
 
クラス jp.wda.gpss.GeneralSocklet から継承したメソッド
addClient, afterDeployedLinks, containsAttributeKey, containsClient, copyInfo, countClients, deployedBy, deployedBy, disconnectAllClients, getAllClients, getAttribute, getAttributeBoolean, getAttributeDouble, getAttributeInt, getAttributeKeys, getAttributeLong, getAttributes, getClients, getClients, getInitParam, getInitParamKeys, getInitParams, getInitParams, getMain, getName, getOtherSocklet, getTimeout, hasInitParam, init, init, log, log, log, log, memo, memo, memo, memo, preCreateFinder, removeAttribute, removeClient, sendToAllClients, sendToClients, sendToClients, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setMain, setTimeout
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

FesiJsSocklet

public FesiJsSocklet()
推奨されていません。 
メソッドの詳細

init

public void init(java.util.List linkedSocklets)
推奨されていません。 
ECMAScriptSockletを初期化するためのメソッド。
このメソッドは初期設定ファイルで指定されたスクリプトファイルを読み込み、 スクリプト関数onInit()を呼び出します。
このメソッドは、ソケット待受けサーバの起動時に、1回だけ呼ばれます。
またスクリプトに組み込みオブジェクトapplicationを設定します。 applicationオブジェクトを利用して、スクリプトからSocklet APIにアクセスすることが可能です。
ECMAScriptSockletの初期化作業が必要な場合は、スクリプト関数onInit()に記述してください。

オーバーライド:
クラス GeneralSocklet 内の init
パラメータ:
linkedSocklets - 自動的に追加配備したいSockletがある場合は、Socklet配備情報オブジェクトをこのListに追加してください。
関連項目:
GeneralSocklet.init()

checkConnection

public boolean checkConnection(SocketProcessor client)
推奨されていません。 
接続用初期コマンド受信後、クライアントの検査を行うためにメソッド。
このメソッドは、サーバが新しいクライアントからの接続を確認した時点で、 そのクライアントを検査するために呼ばれます。
このメソッドはスクリプト関数onConnect(client)を呼び出します。

接続クライアントに対し一番初めに一回だけ呼ばれます。
SocketProcessor clientオブジェクトのメソッドを使用して、 この接続が適切であるか検査し、 またクライアントに必要な初期化情報を与えてください。
このクライアントが適切でないと判断された場合は、偽を返してください。 直ちにクライアントソケットを終了します。
その他の場合は、真を返してください。真を返すと、クライアントソケットを継続します。

定義:
インタフェース Socklet 内の checkConnection
オーバーライド:
クラス GeneralSocklet 内の checkConnection
パラメータ:
client - 接続を試みているクライアント
戻り値:
検査後、即切断する場合は偽。
関連項目:
SocketProcessor

preRemoveClient

public void preRemoveClient(SocketProcessor client)
推奨されていません。 
クライアント削除前に呼び出されるメソッド。
接続中のクライアントが切断され、このアプリケーションから除外される直前に呼ばれます。
このメソッドはスクリプト関数onDisconnect(client)を呼び出します。

接続クライアントに対し、終了前に一回だけ呼ばれます。
他の接続中クライアントへ、このクライアントが切断されたことを通知するような場合は、 スクリプト関数onDisconnect(client)中で記述してください。

定義:
インタフェース Socklet 内の preRemoveClient
オーバーライド:
クラス GeneralSocklet 内の preRemoveClient
パラメータ:
client - これから削除されるクライアント
関連項目:
GeneralSocklet.preRemoveClient(SocketProcessor)

doCommand

public boolean doCommand(SocketProcessor client,
                         java.lang.String command)
推奨されていません。 
コマンドを処理するためのメソッド。
接続中のクライアントから、コマンドが送信されてきたときに呼ばれます。 このメソッドはスクリプト関数onCommand(client, command)を呼び出します。

スクリプト関数onCommand(client, command)中で、 クライアントから送られてきたコマンドを処理してください。
クライアントの接続中に何度でも呼ばれます。

コマンドを送ってきたソケットに対して、メッセージを送信したい場合は、以下のメソッドを使用してください。

client.send(送信するメッセージ);

接続中の全クライアントへメッセージを送信したい場合は、以下のメソッドを使用してください。

application.sendToAllClients(送信するメッセージ);

また、特定のクライアントへのみメッセージを送りたい場合は、 以下のメソッドを使用してください。

application.sendToClients(送信するメッセージ, 送信したいクライアントの検索条件文);

ソケット接続を継続する場合はスクリプト関数onCommandで真を返してください。

パラメータ:
client - コマンドを送信してきたクライアントソケット
command - 受信したコマンド
戻り値:
コマンド実行に成功した場合は真、失敗した場合は偽 偽を返すと直ちにクライアントソケットを終了します。

destroy

public void destroy()
推奨されていません。 
Sockletがサービスを停止する際に、待受けメインサーバによって呼び出されます。
Sockletの終了処理が必要な場合は、スクリプト関数onDestroy()を記述してください。

定義:
インタフェース Socklet 内の destroy
オーバーライド:
クラス GeneralSocklet 内の destroy
関連項目:
Socklet.destroy()

allowAccessFromOtherSocklet

public boolean allowAccessFromOtherSocklet(Socklet from)
推奨されていません。 
他のSockletからのアクセスを許可するかどうかを確認します。 既定では、常にアクセスを許可しません。 Sockletによってアクセスを許可する場合は、スクリプト関数onSockletLink()を定義してください。 この接続を許可する場合は、真を返してください。

定義:
インタフェース Socklet 内の allowAccessFromOtherSocklet
オーバーライド:
クラス GeneralSocklet 内の allowAccessFromOtherSocklet
パラメータ:
from - 接続を試みているSocklet
戻り値:
検査後、接続を許可する場合は真。
関連項目:
Socklet.allowAccessFromOtherSocklet(Socklet)

importSource

public boolean importSource(java.lang.String fileName)
推奨されていません。 
ファイルを読み込みスクリプトとして評価・実行するメソッド。
スクリプト中から呼び出すことで外部ファイルをインポートして、 利用することができます。
よく使う外部ライブラリの読み込みに利用できます。
スクリプトからの呼び出しは application.importSource(fileName)となります。

パラメータ:
fileName - 外部から読み込むスクリプトソースファイル名
戻り値:
読み込み・評価・実行に成功した場合は真、失敗した場合は偽

addSocklet

public void addSocklet(java.util.List links,
                       java.lang.String sockletName,
                       java.lang.String className)
推奨されていません。 
外部Sockletを追加配備するメソッド。
スクリプト関数onInit()から呼び出すことで外部Sockletを配備します。 使用する場合は必ずonInit()内から呼び出してください。
スクリプトからの呼び出しは application.addSocklet(links, sockletName, className)となります。

パラメータ:
links - socklet配備リスト
sockletName - socklet配備名
className - sockletクラス名
戻り値:
なし

addScriptSocklet

public void addScriptSocklet(java.util.List links,
                             java.lang.String sockletName,
                             java.lang.String fileName)
推奨されていません。 
外部ScriptSockletを追加配備するメソッド。
スクリプト関数onInit()から呼び出すことで外部ScriptSockletを配備します。 使用する場合は必ずonInit()内から呼び出してください。
スクリプトからの呼び出しは application.addScriptSocklet(links, sockletName, fileName)となります。

パラメータ:
links - socklet配備リスト
sockletName - socklet配備名
fileName - script sockletファイル名
戻り値:
なし

call

public java.lang.Object call(java.lang.String functionName,
                             java.lang.Object[] args)
推奨されていません。 
スクリプト関数を呼び出すメソッド。
スクリプトからの呼び出しは application.call(functionName, args)となります。

戻り値:
関数の実行結果

get

public java.lang.Object get(java.lang.String variableName)
推奨されていません。 
スクリプト変数を取得するメソッド。
スクリプトからの呼び出しは application.get(variableName)となります。

戻り値:
関数の実行結果