![]() |
![]() |
|
|
任意通知型メッセージの送信
BEA Tuxedo システムでは、要求/応答型呼び出しまたは会話型通信の処理を妨げずに、クライアント・プロセスに任意通知型メッセージを送信できます。
任意通知型メッセージは、名前、または以前に処理されたメッセージと共に受信した識別子を使用して、クライアント・プロセスに送信できます。名前による送信には tpbroadcast(3c)、識別子による送信には tpnotify(3c) を使用します。tpbroadcast() で送信されるメッセージの発信元は、サービスまたは別のクライアントです。tpnotify() で送信されるメッセージの発信元は、サービスだけです。
名前によるメッセージのブロードキャスト tpbroadcast(3c) を使用すると、アプリケーションの登録されたクライアントにメッセージが送信されます。tpbroadcast() は、サービスまたは別のクライアントから呼び出すことができます。登録されたクライアントとは、tpinit() を呼び出したが、まだ tpterm() を呼び出してはいないクライアントのことです。 tpbroadcast() 関数の呼び出しには、次の文法を使用します。 次の表は、tpbroadcast() 関数の引数を示しています。 tpbroadcast( ) 関数の引数
int
tpbroadcast(char *lmid, char *usrname, char *cltname, char *data, long len, long flags)
次のコード例は、すべてのクライアントを送信先として tpbroadcast() を呼び出す方法を示しています。送信メッセージは、STRING 型バッファ内にあります。 tpbroadcast( ) の使用 識別子によるメッセージのブロードキャスト tpnotify(3c) 関数を使用すると、以前に処理されたメッセージと共に受信した識別子を使用してメッセージがブロードキャストされます。tpnotify() 関数は、サービスからのみ呼び出すことができます。 tpnotify() 関数の呼び出しには、次の文法を使用します。 次の表は、tpnotify() 関数の引数を示しています。 tpnotify( ) 関数の引数
char *strbuf;
if ((strbuf = tpalloc("STRING", NULL, 0)) == NULL) {
error routine
}
(void) strcpy(strbuf, "hello, world");
if (tpbroadcast(NULL, NULL, NULL, strbuf, 0, TPSIGRSTRT) == -1)
error routineint
tpnotify(CLIENTID *clientid, char *data, long len, long flags)
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|