2.1.8 コネクションの解放
運用コマンド(mcftdctcn)の入力,またはAPI(dc_mcf_tdctcn関数またはCBLDCMCF('TDCTCN△△'))の発行によって,TP1/NET/TCP/IPはコネクションを解放します。自システムからコネクションの解放要求を受けるとメッセージの送受信を終了し,コネクションを解放します。相手システムから解放要求を受信した場合も同様に,解放要求を受信した時点でコネクションを解放します。相手システムからの解放が,正常解放なのか,相手システムの異常による強制解放なのかの区別はできません。さらに,オンライン終了時にも,コネクションは解放されます。
自システムからコネクションを解放した場合,TP1/NET/TCP/IPは,コネクション定義(mcftalccn -f)のcnreleaseオペランドの指定によって,状態通知イベント(CCLSEVT),または障害通知イベント(CERREVT)のどちらかを通知します。また,相手システムからのコネクション解放の場合はコネクション定義(mcftalccn -f)のkindオペランドの指定によって,状態通知イベント(CCLSEVT),または障害通知イベント(CERREVT)のどちらかを通知します。コネクションは,クライアント,およびサーバのどちらからでも解放できます。
メッセージの欠落を防ぐため,コネクションの解放はユーザ間で,データ転送の終了の同期合わせ後に行ってください。
運用コマンド(mcftdctcn)を入力時またはオンライン終了時の,自システムからのコネクションの解放を次の図に示します。
- 注※
-
オンライン終了時は通知されません。
運用コマンド(mcftdctcn)の-fオプションの指定の有無,およびコネクション定義(mcftalccn -f)のcnreleaseオペランドの指定によって,CCLSEVTまたはCERREVTのどちらかを通知します。
API(dc_mcf_tdctcn関数またはCBLDCMCF('TDCTCN△△'))発行時の,自システムからのコネクションの解放を次の図に示します。
- 注※
-
APIおよびコネクション定義(mcftalccn -f)のcnreleaseオペランドの指定によって,CCLSEVTまたはCERREVTのどちらかを通知します。
相手システムからのコネクションの解放を次の図に示します。
- 注※
-
オンライン終了時は通知されません。
コネクション定義(mcftalccn -f)のkindオペランドの指定によって,CCLSEVTまたはCERREVTのどちらかを通知します。