運用コマンド(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)を入力時またはオンライン終了時の,自システムからのコネクションの解放を次の図に示します。
図2-15 自システムからのコネクションの解放(運用コマンド入力時またはオンライン終了時)
API(dc_mcf_tdctcn関数またはCBLDCMCF('TDCTCN△△'))発行時の,自システムからのコネクションの解放を次の図に示します。
図2-16 自システムからのコネクションの解放(API発行時)
相手システムからのコネクションの解放を次の図に示します。
図2-17 相手システムからのコネクションの解放