7.7 会話型通信のイベントについて
Oracle Tuxedoシステムの会話型通信では、5つのイベントが認識されます。これらのイベントはすべてtprecv()に通知でき、そのうちの3つはtpsend()にも通知できます。
次の表は、イベント、それらのイベントが返される機能、およびそれぞれの詳細な説明を示しています。
表7-3 会話型通信イベント
| イベント | イベントを受け取る関数 | 説明 |
|---|---|---|
TPEV_SENDONLY
|
tprecv()
|
接続の制御が渡されました。この時点で、このプロセスはtpsend()を呼び出すことができます。
|
TPEV_DISCONIMM
|
tpsend()、tprecv()、tpreturn()
|
接続が切断されており、これ以上の通信はできません。tpdiscon()関数はこのイベントを接続の開始側に通知し、従属サービスとの接続がオープンしたままになっている場合に、tpreturn()が呼び出されると、このイベントをすべてのオープン接続に送信します。接続はエラーが原因で切断されます。トランザクションが存在している場合は、中断されます。
|
TPEV_SVCERR
|
tpsend()
|
接続の開始側が受信します。通常は、従属プログラムが接続の制御を持たない場合に、tpreturn()を呼び出したことを示します。
|
tprecv()
|
接続の開始側が受信します。従属プログラムがTPSUCCESSまたはTPFAIL、および妥当なデータ・バッファを使用してtpreturn()を呼び出したが、エラーが発生して呼出しが完了しなかったことを示します。
|
|
TPEV_SVCFAIL
|
tpsend()
|
接続の開始側が受信します。従属プログラムが接続の制御を持たない場合にtpreturn()を呼び出し、TPFAILまたはTPEXIT、およびデータなしでtpreturn()が呼び出されたことを示します。
|
tprecv()
|
接続の開始側が受信します。従属サービスの処理が正常に終了しなかったこと(つまり、tpreturn()がTPFAILまたはTPEXITで呼び出されたこと)を示します。
|
|
TPEV_SVCSUCC
|
tprecv()
|
接続の開始側が受信します。従属サービスの処理が正常に終了したこと(つまり、tpreturn()がTPSUCCESSで呼び出されたこと)を示します。
|
親トピック: 会話型クライアントおよびサーバーのコーディング