|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjp.wda.gpss.GeneralSocklet
jp.wda.gpss.system.ScriptSocklet
jp.wda.gpss.system.RhinoJsSocklet
[ OProject GPSS for FlashMX ] FlashMX用汎用ソケットサーバ
JavaScriptSockletクラス
このクラスは、JavaScriptによるサーバーサイドスクリプティングの試験実装です。
このクラスは、Mozilla Rhinoによる実装になっています。
以下の4つの関数をスクリプトファイルに定義することによって、
Sockletの動作を比較的容易に設定することができます。
function onInit() アプリケーション初期化処理を定義します。
function onConnect(client) クライアントの接続のチェックおよび初期化を定義します。
function onDisconnect(client) クライアント接続が切断される場合に実行する処理を定義します。
function onCommand(client,command) クライアントからデータを受信した場合に実行する処理を定義します。
スクリプトファイルはscriptsディレクトリ内に拡張子".rjs"で保存することにより、
サーバー起動時に自動的に読み込まれます。
フィールドの概要 |
クラス jp.wda.gpss.GeneralSocklet から継承したフィールド |
progress |
コンストラクタの概要 | |
RhinoJsSocklet()
|
メソッドの概要 | |
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)
スクリプト変数を取得するメソッド。 |
java.lang.Object[] |
getUsers()
クライアント全員を取得します |
java.lang.Object[] |
getUsers(Finder finder)
クライアント全員を取得します |
java.lang.Object[] |
getUsers(java.lang.String condition)
クライアント全員を取得します |
boolean |
importSource(java.lang.String fileName)
ファイルを読み込みスクリプトとして評価・実行するメソッド。 |
void |
init(java.util.List linkedSocklets)
ECMAScriptSockletを初期化するためのメソッド。 |
void |
preRemoveClient(SocketProcessor client)
クライアント削除前に呼び出されるメソッド。 |
void |
send(java.lang.String message)
クライアント全員にメッセージを送信します |
void |
send(java.lang.String message,
Finder finder)
検索条件で指定したユーザー全員にメッセージを送信します |
void |
send(java.lang.String message,
java.lang.Object[] clients)
指定したユーザー全員にメッセージを送信します |
void |
send(java.lang.String message,
SocketProcessor client)
指定したユーザーにメッセージを送信します |
void |
send(java.lang.String message,
java.lang.String condition)
検索条件で指定したユーザー全員にメッセージを送信します |
static java.lang.Object |
sync(org.mozilla.javascript.Context cx,
org.mozilla.javascript.Scriptable thisObj,
java.lang.Object[] args,
org.mozilla.javascript.Function funObj)
排他的同期メソッドの定義を利用可能にするユーティリティメソッド このメソッドを利用することで複数スレッドから安全に実行することのできる関数を 使用することが可能になります。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public RhinoJsSocklet()
メソッドの詳細 |
public void init(java.util.List linkedSocklets)
GeneralSocklet
内の init
linkedSocklets
- 自動的に追加配備したいSockletがある場合は、Socklet配備情報オブジェクトをこのListに追加してください。GeneralSocklet.init()
public boolean checkConnection(SocketProcessor client)
Socklet
内の checkConnection
GeneralSocklet
内の checkConnection
client
- 接続を試みているクライアント
SocketProcessor
public void preRemoveClient(SocketProcessor client)
Socklet
内の preRemoveClient
GeneralSocklet
内の preRemoveClient
client
- これから削除されるクライアントGeneralSocklet.preRemoveClient(SocketProcessor)
public boolean doCommand(SocketProcessor client, java.lang.String command)
client
- コマンドを送信してきたクライアントソケットcommand
- 受信したコマンド
public void destroy()
Socklet
内の destroy
GeneralSocklet
内の destroy
Socklet.destroy()
public boolean allowAccessFromOtherSocklet(Socklet from)
Socklet
内の allowAccessFromOtherSocklet
GeneralSocklet
内の allowAccessFromOtherSocklet
from
- 接続を試みているSocklet
Socklet.allowAccessFromOtherSocklet(Socklet)
public boolean importSource(java.lang.String fileName)
fileName
- 外部から読み込むスクリプトソースファイル名
public void addSocklet(java.util.List links, java.lang.String sockletName, java.lang.String className)
links
- socklet配備リストsockletName
- socklet配備名className
- sockletクラス名
public void addScriptSocklet(java.util.List links, java.lang.String sockletName, java.lang.String fileName)
links
- socklet配備リストsockletName
- socklet配備名fileName
- script sockletファイル名
public java.lang.Object call(java.lang.String functionName, java.lang.Object[] args)
functionName
- 呼び出すスクリプト関数args
- スクリプト関数へ引き渡す引数
public java.lang.Object get(java.lang.String variableName)
variableName
- 取得するスクリプト変数名
public void send(java.lang.String message)
message
- 送信するメッセージpublic void send(java.lang.String message, java.lang.String condition)
message
- 送信するメッセージcondition
- 送信するユーザーの検索条件public void send(java.lang.String message, Finder finder)
message
- 送信するメッセージfinder
- 送信するユーザーの検索条件を設定したFinderpublic void send(java.lang.String message, SocketProcessor client)
message
- 送信するメッセージclient
- 送信対象のユーザーpublic void send(java.lang.String message, java.lang.Object[] clients)
message
- 送信するメッセージclients
- 送信対象のユーザー(SocketProcessor)配列public java.lang.Object[] getUsers()
public java.lang.Object[] getUsers(java.lang.String condition)
condition
- 検索条件
public java.lang.Object[] getUsers(Finder finder)
finder
- 検索条件
public static java.lang.Object sync(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, java.lang.Object[] args, org.mozilla.javascript.Function funObj)
//関数funcを同期メソッド化して関数syncFuncを定義
var syncFunc = sync(func);
cx
- thisObj
- args
- funObj
-
|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |