![]() |
![]() |
|
|
任意通知型メッセージの送信
BEA Tuxedo システムでは、要求/応答型呼び出しまたは会話型通信の処理を妨げずに、クライアント・プロセスに任意通知型メッセージを送信できます。
任意通知型メッセージは、名前、または以前に処理されたメッセージと共に受信した識別子を使用して、クライアント・プロセスに送信できます。名前による送信には TPBROADCAST(3cbl)、識別子による送信には TPNOTIFY(3cbl) を使用します。TPBROADCAST で送信されるメッセージの発信元は、サービスまたは別のクライアントです。TPNOTIFY で送信されるメッセージの発信元は、サービスだけです。
名前によるメッセージのブロードキャスト TPBROADCAST(3cbl) ルーチンを使用すると、アプリケーションの登録されたクライアントにメッセージが送信されます。tpbroadcast() は、サービスまたは別のクライアントから呼び出すことができます。登録されたクライアントとは、TPINITIALIZE を呼び出したが、まだ TPTERM を呼び出してはいないクライアントのことです。 TPBROADCAST ルーチンの呼び出しには、次の文法を使用します。 次の表は、TPBCTDEF-REC データ構造体のメンバを示しています。 TPBCTDEF-REC データ構造体のメンバ
01 TPBCTDEF-REC.
COPY TPBCTDEF.
01 TPTYPE-REC.
COPY TPTYPE.
01 DATA-REC.
COPY User Data.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPBROADCAST" USING TPBCTDEF-REC TPTYPE-REC DATA-REC TPSTATUS-REC.
TPTYPE-REC レコードについては、「サービスの定義」を参照してください。 次のコード例は、すべてのクライアントを送信先として TPBROADCAST を呼び出す方法を示しています。送信メッセージは、STRING 型レコード内にあります。 TPBROADCAST の使用 識別子によるメッセージのブロードキャスト TPNOTIFY(3cbl) ルーチンを使用すると、以前に処理されたメッセージと共に受信した識別子を使用してメッセージがブロードキャストされます。tpnotify() 関数は、サービスからのみ呼び出すことができます。 TPNOTIFY ルーチンの呼び出しには、次の文法を使用します。 TPSVCDEF-REC データ構造体については、「グローバル・トランザクションのコーディング」 を参照してください。TPTYPE-REC レコードについては、「サービスの定義」 を参照してください。 . . .
**************************************************
* ブロードキャストにレコードを用意します。
**************************************************
MOVE "HELLO, WORLD" TO DATA-REC.
MOVE 11 TO LEN.
MOVE "STRING" TO REC-TYPE.
*
SET TPNOBLOCK TO TRUE.
SET TPNOTIME TO TRUE .
SET TPSIGRSTRT TO TRUE .
*
MOVE SPACES TO LMID.
MOVE SPACES TO USRNAME.
MOVE SPACES TO CLTNAME.
CALL "TPBROADCAST" USING TPBCTDEF-REC
TPTYPE-REC
DATA-REC
TPSTATUS-REC.
IF NOT TPOK
error processing01 TPSVCDEF-REC.
COPY TPSVCDEF.
01 TPTYPE-REC.
COPY TPTYPE.
01 DATA-REC.
COPY User Data.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPNOTIFY" USING TPSVCDEF-REC TPTYPE-REC DATA-REC TPSTATUS-REC.
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|