jp.wda.g2
インタフェース Socklet

既知のサブインタフェースの一覧:
ICommandSocklet, IXmlCommandSocklet, SockletDeployer
既知の実装クラスの一覧:
AbstractSocklet, AbstractSockletDeployer, AccessControledSocklet, CommandSocklet, DefaultG1SockletDeployer, GeneralSocklet, XMLCommandSocklet

public interface Socklet

Sockletインターフェース

全てのSockletは、このインターフェースを実装する必要があります。
通常の場合は、jp.wda.g2.GeneralSockletを継承する方が楽チンです。

[変更履歴]
2.0.0-a1
2006/02/25 14:40:03 導入

導入されたバージョン:
2.0.0-a1
バージョン:
2.0.0-a1
作成者:
A M O I

メソッドの概要
 boolean checkConnection(SocketProcessor client, SockletLinkage linkage)
          接続用初期コマンド受信後、クライアントの検査を行うためのメソッド。
 void destroy()
          Sockletがサービスを停止する際に、待受けメインサーバによって呼び出されます。
 void destroyAllSocklets()
           
 java.lang.Object doCommand(SocketProcessor client, java.nio.ByteBuffer command, SockletLinkage linkage)
          コマンドを処理するためのメソッド。
 void preRemoveClient(SocketProcessor client, SockletLinkage linkage)
          クライアント削除前に呼び出されるメソッド。
 

メソッドの詳細

checkConnection

boolean checkConnection(SocketProcessor client,
                        SockletLinkage linkage)
接続用初期コマンド受信後、クライアントの検査を行うためのメソッド。
このメソッドは、サーバが新しいクライアントからの接続を確認した時点で、 そのクライアントを検査するために呼ばれます。
接続クライアントに対し一番初めに一回だけ呼ばれます。
SocketProcessorクラスのメソッドを使用して、このクラスが適切であるか検査し、 またクライアントに必要な初期化情報を与えてください。

このクライアントが適切でないと判断された場合は、偽falseを返してください。 直ちにクライアントソケットを終了します。
その他の場合は、真を返してください。真を返すと、クライアントソケットを継続します。

パラメータ:
client - 接続を試みているクライアント
linkage -
戻り値:
検査後、即終了する場合は偽。

preRemoveClient

void preRemoveClient(SocketProcessor client,
                     SockletLinkage linkage)
クライアント削除前に呼び出されるメソッド。
接続中のクライアントが切断され、このアプリケーションから除外される直前に呼ばれます。
接続クライアントに対し、終了前に一回だけ呼ばれます。
他の接続中クライアントへ、このクライアントが切断されたことを通知するような場合は、 このメソッド中で記述してください。

パラメータ:
client - これから削除されるクライアント
linkage -

doCommand

java.lang.Object doCommand(SocketProcessor client,
                           java.nio.ByteBuffer command,
                           SockletLinkage linkage)
                           throws GPSSException
コマンドを処理するためのメソッド。
接続中のクライアントから、コマンドが送信されてきたときに呼ばれます。 サブクラスはこのメッソド中で、クライアントから送られてきたコマンドを処理してください。
クライアントの接続中に何度でも呼ばれます。

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

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

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

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

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

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

SocketProcessorFinderには、ユーザー名での検索用クラスやパラメタ値での検索用クラスなどが用意されています。

パラメータ:
client - コマンドを送信してきたクライアントソケット
command - 受信したコマンド
linkage -
戻り値:
コマンド処理結果
例外:
GPSSException - コマンド処理中にGPSSExceptionを投げると、直ちにクライアントソケットを終了します。

destroy

void destroy()
Sockletがサービスを停止する際に、待受けメインサーバによって呼び出されます。
Sockletの終了処理ルーチンを記述し、このメソッドを実装してください。


destroyAllSocklets

void destroyAllSocklets()