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