Tivoli Service Desk 6.0 Developer's Toolkit Script 言語解説書
メイン・ページに戻る
NetAccept は、接続固有のイベント・ハンドラーおよびインスタンス・データを前に NetListen イベント・ハンドラーによって処理された接続に関連付けます。
FUNCTION NetAccept (VAL hndlHost: NETCONNECTION, EventHandler {InstanceData} :EVENT, ): INTEGER:
引き数名 | 説明 |
hndlHost | 接続に対するハンドル。このハンドルは、ホストと通信するために SendMessage および PostMessage に対する呼び出しで使用することができます。これは、NetAccept に対する呼び出しで使用される NetListen イベント・ハンドラーによってサービスされなければなりません。 |
EventHandler | サーバーからのメッセージを処理します。 |
NetListen イベント・ハンドラーによってサービスされるすべての接続は、NetListen イベント・ハンドラーに定義されたインスタンス・データの同じコピーを共用します。接続用の NetAccept ステートメントを呼び出すことによって、インスタンス・データの特定のセットをオープンされている NetListen 接続に関連付けることができます。
注: NetAccept は、NetListen 接続に対して、そのハンドルによってのみ呼び出すことができます
接続に関連付けるインスタンス・データは、オープンされている他の接続、または後で NetListen イベント・ハンドラーにオープンされる可能性のある接続でも使用されません。NetAccept が呼び出された後に、接続が変更されます。同じホストまたはサービスに対するすべての要求は、新規イベント・ハンドラーに向けられます。
NetAccept が呼び出され、NetListen サービスの接続とみなされると、NetAccept に渡されるイベント・ハンドラーは、 $MsgCreate を受け取って、そのインスタンス・データを作成します。 (NetListen イベント・ハンドラーは、NetAccept 呼び出しの前に接続をオープンしています。)
NetAccept イベント・ハンドラーは、次のことを行います。
戻りコードは、指定されていない限り、ローカル・マシンから発生します。
戻りコード | 説明 |
1 | 成功 |
-1 | BAD_HANDLE NetConnection ハンドルは、有効なハンドルを参照していません。この戻りコードは、接続の確立後にサーバー・プロセスが停止し、再始動した場合に送られることがあります。この戻りコードは、ローカルまたはリモートのいずれのマシンでも発生することがあります。 |
-2 | UNKNOWN_VALUE パラメーターに既知の値を必要とする呼び出しで不明の値をもつパラメーターが使用されました。 |
-3 | NO_MEMORY 操作を完了するのに使用可能なメモリーが十分ではありません。 |
-4 | NO_CREATE 接続を作成できませんでした。この戻りコードは、オペレーティング・システム・レベルまたはネットワーク・レベルでローカル・マシンまたはリモート・マシンから発生することがあります。また、サーバーが必要とする他のシステム・オブジェクトにも適用されます。第 2 の Tivoli Script サーバーが同じポートで開始しようとすると、NetRegister でこのメッセージが戻されます。 |
-5 | INVALID_TYPE ネットワーク上でデータを転送するために設計された 3 つのメッセージがあります。そのメッセージとは $MsgNetInteger、$MsgNetReal、および $MsgNetString であり、これらは決まったデータ・タイプしか受け入れません。この戻りコードは、間違った引き数が SendMessage または PostMessage ステートメントに渡された場合に現れます。 |
-10 | OS_CALL_FAILED オペレーティング・システム・レベルでの呼び出しが失敗しました。 これは、構成の間違いまたはリソースの不足によって起こることがあります。 |
-12 | ERROR_BAD_MSG SendMessage ステートメントまたは PostMessage ステートメントが NETx ステートメントでサポートされていないメッセージ (あるいは 特に NETx ステートメントで使用するためのユーザー定義 $MsgUser + n メッセージ) によって呼び出されました。 |
-13 | HOST_UNREACHABLE 要求されたサーバーに到達できませんでした。サーバーがダウンしているか、サーバーへの経路が存在しないか、あるいはサーバー上で実行中の NetListen または NetRegister イベント・ハンドラーがないかのいずれかです。 |
-15 | RESOURCE_LOCK 呼び出しをサービスするのに必要な共用リソースが別の接続によって使用されています。この戻りコードは、システムが過負荷である場合に発生することがあります。 |
-16 | SERVICE_NOT_SUPPORTED サーバーは、要求されたサービスをサポートしていません。 |
-17 | NO_CONNECTION ハンドルに関連した有効な接続がありません。 |
-18 | BAD PORT サービス・ストリングのポート部分を有効なポートまたはサービスに解決することができません。 |
NetClose は、接続をクローズします。
FUNCTION NetClose (VAL hndlHost: NETCONNECTION ): INTEGER:
引き数 | 説明 |
hndlHost | 接続に対するハンドル |
インスタンス・データが破棄される前に、接続のイベント・ハンドラーが $MsgDestroy メッセージを受け取りました。
注: 接続が NetListen イベント・ハンドラーによってサービスされている場合には、インスタンス・データは破棄されません 。
クライアントがクローズを開始すると、NetClose は、クライアント側の接続をクローズします。 サーバーはクローズされた接続を検出し、接続イベント・ハンドラーに MsgNetClose メッセージを送ります。
サーバーは、接続をクローズする前に、接続に関連したすべてのインスタンス・データを破棄します。
NetConnect は、2 つのネットワーク化マシンの間の接続を確立します。
NetConnect にはクライアントとピアツーピアという 2 つの構文形式があります。基本形式 (クライアント / サーバーの変形としてリスト) は、クライアント・アーキテクチャーまたはピアツーピア・アーキテクチャーのいずれかで接続をオープンするために使用されます。
以下はクライアントの構文です。
FUNCTION NetConnect(REF hndlHost: NETCONNECTION, VAL hostName: STRING, VAL service: STRING ): INTEGER;
以下はピアツーピアの構文です。
FUNCTION NetConnect( VAL hndlHost: NETCONNECTION ): INTEGER;
注: ピアツーピアは、戻り接続を作成するためのショートカットです
引き数名 | 説明 |
hndlHost | サーバーへのハンドル。このハンドルは、サーバーと通信するために SendMessage および PostMessage に対する呼び出しで使用します。ホストとサービスの対にハンドルがすでに存在する場合には、NetConnect を呼び出すと、そのハンドルが戻されます。ピアツーピア形式を使用する場合には、ハンドルは戻り接続のために初期化されます。 |
hostName | 目標のサーバーの名前または IP。 |
service | クライアントがサーバーから要求する特定のサービスの名前。サービス名を長さがゼロのストリングまたは $Unknown として指定した場合には、サーバーは、ワイルドカード・サービスを検索します。(サービス名は最大 256 文字にすることができます。) サーバー上でサービスが見つからない場合には、サーバーはサービス要求をワイルドカード・サービスまたは総称サービス (NetListen イベント・ハンドラーによって登録されたもの) に突き合わせようとします。 リモート・マシンのポート番号を次の形式のサービス・ストリングに付加することができます。 service : nnnn nnnn は TCP/IP ポート番号です。そうでない場合には、形式は次の通りです。 service : name name は TCP/IP サービス名です。 |
既存の接続に関連したハンドルで NetConnect を呼び出すと、 NetConnect は、接続を再オープンしませんが、次のことが該当するかを確認します。
SourceName : Port
デフォルトのサービスは ASENET/TCP です。デフォルトのポートは 5005 です。
アクティブ接続に関連したリモート・アドレスを戻します。
FUNCTION NetGetAddress( VAL handle : NETCONNECTION ) : STRING;
引き数名 | 説明 |
handle | アクティブ接続のハンドル |
エラーまたは接続がアクティブでない場合に、不明を戻します。
NetGetHostName は、接続がクライアントで呼び出された時に、その接続に関連したサーバーの名前 (またはマシン ID) を戻します。NetGetHostName は、クライアントがサーバー上で呼び出された時にクライアントの名前を戻します。
FUNCTION NetGetHostName( VAL hndlHost: NETCONNECTION ): STRING:
引き数名 | 説明 |
hndlHost | サーバーに対するハンドル |
次のいずれかのソースからハンドルを入手することができます。
戻りコード | 説明 |
NetGetHostName | ハンドルに関連したサーバーの名前 (またはマシン ID) を戻します。 |
注: エラーが起こった場合、あるいはハンドルに関連したサーバーがない場合には、$Unknown が戻されます。
標準 IP 名解決メソッド (通常は DNS またはホストのファイル) によって報告されたローカル・マシンの IP アドレスを戻します。
FUNCTION NetGetLocalAddress : STRING;
ネットワーク構成に矛盾がある場合には、この関数は、マシンに構成されたアドレスを報告しないことがあります。ホストに複数のアドレスがある場合には、ホストは、DNS またはホストのファイルに認識されているものを報告します。
エラーで不明を戻します。
NetGetService は、接続に関連したネットワーク・サービスの名前ストリングを戻します。
FUNCTION NetGetService ( VAL hndlHost: NETCONNECTION ): STRING:
引き数名 | 説明 |
hndlHost | サーバーに対するハンドル |
ハンドルは、NetConnect パラメーターまたは NetListen、NetAccept、または NetRegister によってサービスされているイベント・ハンドラーに対する $Handle パラメーターのいずれかから入手することができます。 (NetGetService は、サービス仕様のポート部分を戻しません。)
戻りコード | 説明 |
NetGetService | ハンドルに関連したサービスの名前を戻します。 |
注: エラーが起こった場合、あるいはハンドルに関連したサーバーがない場合には、$Unknown が戻されます。
NetListen は、クライアントからの要求を処理するために総称イベント・ハンドラーを登録します。
FUNCTION NetListen( EventHandler EVENT): INTEGER:
引き数名 | 説明 |
EventHandler | クライアントからの要求を処理するタイプ NetConnection のイベント・ハンドラー |
サービスの要求
NetListen イベント・ハンドラーは、一致する NetRegister がない場合、あるいはワイルドカード・サービスの場合にサービスの要求を受け取ります。NetListen に対する呼び出し 2 番目の呼び出しで、イベント・ハンドラーおよびインスタンス・データが新規インスタンス・データによって置き換えられます。
NetListen イベント・ハンドラーに対して新規接続がオープンされるたびに、 $MsgNetConnect が NetListen イベント・ハンドラーに送られます。
NetListen イベント・ハンドラーは、それにオープンされているすべての接続に対して 1 セットの共用インスタンス・データをもちます。イベント・ハンドラーは、登録時に $MsgCreate メッセージを受け取り、登録解除時に $MsgDestroy メッセージを受け取ります。
NetListen イベント・ハンドラーに対する呼び出しでは、$Handle にクライアントに対するハンドルが提供され、$Event にメッセージが提供されます。
NetListen イベント・ハンドラーによって取り扱われている接続がクローズされると、 NetListen イベント・ハンドラーは、その接続に対する $MsgNetClose を受け取ります。
NetLoopBack は、リモート・マシンとの接続をサービスするローカル・イベント・ハンドラーにメッセージを送ります。
FUNCTION NetLoopBack (VAL hndlHost NETCONNECTION VAL message: INTEGER, ANY ... ): INTEGER:
引き数名 | 説明 |
hndlHost | サーバーに対するハンドル。このハンドルは、リモート・マシンとのオープン接続の場合に指定されなければなりません。 |
SendMessage
NetRegister は、ネットワーク・クライアントからの接続を受け入れるイベント・ハンドラーのソース・ポートを登録します。NetListen と異なり、NetRegister は、サーバー上で多くのイベント・ハンドラーを同時に実行することができます。
FUNCTION NetRegister(EventHandler EVENT, VAL service STRING ): INTEGER:
引き数名 | 説明 |
EventHandler | クライアントからのメッセージを処理します。 |
service | サーバーによって提供されているサービスの名前。サービス名は 255 文字までに制限されています。 リモート・マシンのポート番号を次の形式のサービス・ストリングに付加することができます。 service : nnnn nnnn は TCP/IP ポート番号です。そうでない場合には、形式は次の通りです。 service : name name は TCP/IP サービス名です。 |
イベント・ハンドラーを登録する時には、それが提供するサービスの名前を指定します。サービスを長さがゼロのストリングとしてまたは $Unknown として登録した場合には、イベント・ハンドラーは、要求されたどのようなサービスでも処理することができます。
イベント・ハンドラーを登録する時には、インスタンス・データをそれに関連付けることもできます。このインスタンス・データは、接続がオープンされる時に、その接続のために初期化されます。(サービスの一部としてポートを指定すると、サーバー・プロセスは、1 つのマシンで実行できるようになります。)
ネットワーク・トレースを可能にします。通常これは、アプリケーション問題をデバッグする時にのみ役立ちます。
注: NetTrace では任意選択のフィルターを使用して、すべてのメッセージを受信する代わりにトレースするメッセージの種類を指定することができます。(たとえば、エラー・メッセージだけをトレースすることができます。) 任意選択構文は標準構文の後に示します。
FUNCTION NetTrace( VAL traceFile : STRING ) : INTEGER;
Function NetTrace( VAL fileName : STRING VAL flags : STRING ): INTEGER;
引き数名 | 説明 |
traceFile | トレース・データが書き込まれるファイルの名前。 |
fileName | フィルター処理されたトレース・データが書き込まれるファイルの名前。 |
flags | 書き込まれるトレース・データをコントロールします。フラグは、次のいずれかとすることができます。
|
大量のデータが作成される場合があります。
NetTrace では、アジア諸国の言語でコード化された 2 バイト文字を認識する Unicode を使用することができます。環境変数は次の通りです。
SAI_NET_USE_UNICODE
デフォルトでは、この変数はオフです。
Tivoli Service Desk 6.0 Developer's Toolkit Script 言語解説書