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で呼び出されたこと)を示します。 | 
親トピック: 会話型クライアントおよびサーバーのコーディング