mcftalccn(コネクション定義の開始)
形式
mcftalccn -c コネクションID 〔-N "modelname=モデルコネクションID"〕 -p tcp -g "sndbuf=メッセージ送信用バッファグループ番号 rcvbuf=メッセージ受信用バッファグループ番号" 〔-e "msgbuf=メッセージ編集用バッファグループ番号 count=メッセージ編集用バッファ数"〕 〔-i auto|manual〕 〔-b "〔bretry=yes|no〕 〔bretrycnt=コネクション確立障害時の確立再試行回数〕 〔bretryint=コネクション確立障害時の確立再試行間隔〕 〔concmptim=コネクション確立時監視時間〕 〔sndcmptim=メッセージ送信完了監視時間〕"〕 〔-w "srtimout=yes|no"〕 -t tcp -y "mode=client|server" 〔-r "〔ipaddr=自システムのホストのIPアドレス〕 〔hostname=自システムのホスト名〕 portno=自システムのポート番号"〕 〔-o "〔oipaddr=相手システムのホストのIPアドレス〕 〔ohostname=相手システムのホスト名〕 oportno=相手システムのホストのポート番号|free"〕 〔-k "〔keepalive=yes|no〕 〔nodelay=yes|no〕 〔notrftime=無通信状態監視時間〕"〕 〔-f "〔kind=ccls|cerr〕 〔cnrelease=fin|rst〕 〔releaselog=1|2〕 〔cnerrlog=1|2〕"〕 〔-A "mastercn=現用コネクションID"〕 〔-u "〔masm=yes|no〕 〔ntimer=yes|no〕 〔ntime=後続セグメント受信の監視タイマ値〕 〔delichk=dccm2m|dccm2s|dccm3m|dccm3s|use|nouse〕 〔msghold=nohold|hold|uoc〕 〔holdlimit=受信メッセージ最大保留数〕"〕 〔-h "〔addrchk=yes|no〕 〔chgconn=replace|keep〕 〔listen=auto|manual〕"〕 〔-C "lscnfmt=1|2"〕 〔-l "〔replymsg=yes|no〕 〔cnassign=freeonly|all〕"〕
機能
コネクションに関する環境を定義します。
オプション
●-N
(オペランド)
- modelname=モデルコネクションID 〜〈1〜8文字の識別子〉
-
このコネクション定義で使用する定義情報を持つ(モデルとする),コネクション定義のコネクションIDを指定します。ただし,指定したコネクションIDに対するコネクション定義が,先に定義されていなければなりません。
このオペランドを指定したときは,-cオプション以外のオプション,またはオペランドを省略できます。
-cオプション以外のオプション,またはオペランドを省略した場合,modelnameに指定したコネクションIDの定義指定値がすべて流用されます。
このコネクション定義に-Nオプション以外のオプション,またはオペランドを指定した場合は,指定したオプション,またはオペランドの指定値が優先されます。
このオプションは2回以上指定できません。また,モデルとしたコネクションと,-Nオプション以外に指定したオプション,またはオペランドの組み合わせによっては,相関チェックによってエラーになる場合があります。そのため,-iオプションには,モデル定義と異なる指定をしないでください。
●-g
(オペランド)
●-e
(オペランド)
- msgbuf=メッセージ編集用バッファグループ番号 〜〈符号なし整数〉((1〜512))
-
入力,出力メッセージ編集UOC呼び出し時に,メッセージ編集用として使用するバッファグループ番号を指定します。
このオペランドを省略した場合は,メッセージ編集用バッファは確保されません。メッセージ編集用バッファグループ番号は,mcftbufコマンドの-gオプションのgroupnoオペランドで指定するバッファグループ番号を指定します。
- count=メッセージ編集用バッファ数 〜〈符号なし整数〉((1〜131070))
-
入力,出力メッセージ編集UOC呼び出し時に,メッセージ編集用として使用するバッファの数を指定します。
msgbufオペランドで指定するメッセージ編集用バッファグループ番号に対応するmcftbufコマンドの-gオプションのcount,およびextendオペランドで指定するバッファ数の中から,1回のUOC呼び出しごとに1面のバッファを使用します。このオペランドに2以上の値を指定しても,入力メッセージ編集UOCおよび出力メッセージ編集UOCで使用できる編集バッファ数は一つだけです。
メッセージ編集用バッファグループ番号に対応するmcftbufのcountオペランドおよびextendオペランドには,すべての論理端末で入力メッセージ編集UOCおよび出力メッセージ編集UOCが,同時に動作した場合を考慮した面数を指定してください。
また,このcountオペランドで指定するメッセージ編集用バッファ数は,mcftbufコマンドの-gオプションのcount,およびextendオペランドで指定するバッファ数の合計値を超える指定はできません。
msgbufオペランドを省略した場合は,このオペランドの指定は無効です。
msgbufオペランドを指定した場合,このオペランドを省略できません。省略した場合,定義オブジェクト生成時にKFCA11519-Eメッセージを出力してエラーとなります。
●-i auto|manual 〜《manual》
OpenTP1システム開始時および再開始時の,コネクションの確立の方法を指定します。このオプションは,mcftalccnコマンドの-yオプションのmodeオペランドで,clientを指定した場合だけ有効です。また,-Aオプションを指定した場合はmanual以外は指定できません。
●-b
(オペランド)
- bretry=yes|no 〜《yes》
-
コネクション確立時に障害が発生した場合,コネクション確立の再試行をするかどうかを指定します。mcftalccnコマンドの-yオプションのmodeオペランドで,serverを指定した場合にはネットワークへのアドレス割り当ての再試行をします。
- yes
-
コネクションの確立再試行をします。
- no
-
コネクションの確立再試行をしません。
- bretrycnt=コネクション確立障害時の確立再試行回数 〜〈符号なし整数〉((0〜65535))《0》(単位:回)
-
コネクションの確立再試行をする場合の確立再試行回数を指定します。bretryオペランドでnoを指定した場合,このオペランドの指定は無効です。
bretryオペランドでyesを指定し,このオペランドに0を指定した場合,無限に確立再試行をします。
- bretryint=コネクション確立障害時の確立再試行間隔 〜〈符号なし整数〉((0〜2550))《60》(単位:秒)
-
コネクションの確立再試行をする場合の確立再試行間隔を指定します。bretryオペランドでnoを指定した場合,このオペランドの指定は無効です。
- 注意事項
-
再試行間隔の精度は秒単位です。また,タイマ定義(mcfttim -t)のbtimオペランドで指定する時間の間隔で再試行するかどうかをチェックします。このため,このオペランドで指定した再試行間隔と実際に再試行する時間には秒単位の誤差が生じます。
- concmptim=コネクション確立時監視時間 〜〈符号なし整数〉((0〜65535))《0》(単位:秒)
-
コネクション確立時の監視時間を指定します。0を指定するか,指定を省略した場合は,OSの監視時間に依存します。
コネクション確立時の監視時間がタイムアウトした場合,コネクション確立を再試行できれば,コネクション確立障害時の確立再試行間隔後,コネクション確立を再試行します。コネクション確立を再試行できなければ,CERREVTを起動します。コネクション確立障害時再試行との関係については,「付録E 障害発生時の処理の流れ」を参照してください。
- 注意事項
-
監視時間の精度は秒単位です。また,タイマ定義(mcfttim -t)のbtimオペランドで指定する時間の間隔でタイムアウトが発生したかどうかを監視しています。このため,このオペランドで指定した監視時間と実際にタイムアウトを検出する時間には秒単位の誤差が生じます。そのため,タイミングによっては,指定した監視時間よりも短い時間でタイムアウトすることがあります。監視時間が小さくなるほど,誤差の影響を受けやすくなりますので,監視時間は3(単位:秒)以上の値の設定を推奨します。
- sndcmptim=メッセージ送信完了監視時間 〜〈符号なし整数〉((0〜65535))《0》(単位:秒)
-
メッセージ送信完了までの監視時間を指定します。0を指定した場合,時間監視をしません。また,同期型メッセージの送信関数の発行時,このオペランドによる時間監視を行いません。同期型メッセージの送信関数の時間監視は,関数発行時に指定する監視時間で行ってください。
同期型メッセージの送受信関数でメッセージ送信完了までの時間を監視する場合,このオペランドには,次の値より小さな値を指定してください。
-
mcfmuapコマンドの-tオプションのsndrcvtimオペランドで指定する同期型送受信監視時間
-
同期型メッセージの送受信関数の発行時(dc_mcf_sendrecv関数またはCBLDCMCF('SENDRECV'))に指定する最大時間
監視対象区間やタイムアウトした場合の動作については,「6. システム定義」の「アプリケーションプログラムとシステム環境設定の関連」を参照してください。
- 注意事項
-
監視時間の精度は秒単位です。また,タイマ定義(mcfttim -t)のbtimオペランドで指定する時間の間隔でタイムアウトが発生したかどうかを監視しています。このため,このオペランドで指定した監視時間と実際にタイムアウトを検出する時間には秒単位の誤差が生じます。そのため,タイミングによっては,指定した監視時間よりも短い時間でタイムアウトすることがあります。監視時間が小さくなるほど,誤差の影響を受けやすくなりますので,監視時間は3(単位:秒)以上の値の設定を推奨します。
-
●-w
(オペランド)
●-y
(オペランド)
●-r
(オペランド)
- ipaddr=自システムのホストのIPアドレス 〜(nn.nn.nn.nn)〈符号なし整数〉((0〜255))
-
自システムのホストのIPアドレスを指定します。
指定形式はnn.nn.nn.nnです。nnの値は,0〜255まで指定できます。
ただし,0.0.0.0と255.255.255.255は指定できません。
このオペランドを指定した場合,指定したアドレスをバインドします。また,このオペランドを省略した場合,自システムのIPアドレスはOSによって割り振られます
- hostname=自システムのホスト名 〜〈1〜255文字のホスト名〉
-
自システムのホスト名を指定します。
自システムがサーバで,OpenTP1の開始時にIPアドレスを取得できなかった場合,開始処理を中断します。
ipaddrオペランドを指定した場合,このオペランドの指定は無効です。
このオペランドを指定し,ipaddrオペランドの指定を省略した場合,このオペランドで指定したアドレスをバインドします。
- portno=自システムのポート番号 〜〈符号なし整数〉((1024〜65535))
-
メッセージ送受信に使用する,自システムのポート番号を指定します。
コネクションとポートの関係については,「2.1.1(1) コネクションとポートの関係」を参照してください。
ほかのプロセスが使用するポートと重複しないポート番号を指定してください。また,OSが任意に割り当てるポート番号(動的ポートまたは短命ポートと呼ばれるポート番号)を使用しないでください。
OSが任意に割り当てるポート番号は,OSの種別やバージョンによって異なります。詳細については,ご使用のOSのマニュアルを参照してください。
一方,同じ定義内(MCF通信プロセス内)に複数のコネクションを指定する場合は,重複したポート番号を指定できます。ただし,図2-3に示すパターンで重複させることはできません。
クライアント型コネクション(コネクション定義(mcftalccn -y)のmodeオペランドでclientを指定)の場合は省略できます。省略した場合,自システムのポート番号はコネクション確立時にOSによって割り振られます。
サーバ型コネクション(コネクション定義(mcftalccn -y)のmodeオペランドでserverを指定)の場合は必ず指定してください。
-rオプションのportnoオペランドが同じサーバ型コネクションを複数指定する場合,-rオプションのipaddrオペランドおよびhostnameオペランドの指定を省略したコネクションと,-rオプションのipaddrオペランドまたはhostnameオペランドを指定したコネクションを混在して使用しないでください。
●-o
(オペランド)
- oipaddr=相手システムのホストのIPアドレス 〜(nn.nn.nn.nn)〈符号なし整数〉((0〜255))
-
相手システムのホストのIPアドレスを指定します。
指定形式は,nn.nn.nn.nnです。nnの値は,0〜255まで指定できます。
ただし,0.0.0.0と255.255.255.255は指定できません。
- ohostname=相手システムのホスト名 〜〈1〜255文字のホスト名〉
-
相手システムのホスト名を指定します。
-oオプションを指定するときは,上に示す二つのオペランドのどちらかを必ず指定してください。二つのオペランドを指定すると,ohostnameオペランドは無効となります。
- oportno=相手システムのホストのポート番号|free 〜〈符号なし整数〉((1〜65535))《free》
-
相手システムのホストのポート番号を指定します。freeを指定できるのは,-yオプションのmodeオペランドでserverを指定した場合だけです。
freeを指定した場合,oipaddrまたはohostnameオペランドで指定した相手システムと一致する任意のポート番号からのコネクション確立要求を受け入れます。このとき,一つの相手システムから複数のコネクションを受け入れるためには,受け入れるコネクション数の分だけコネクション定義を指定する必要があります。さらに,それぞれのコネクション定義には,同一のoipaddrまたはohostnameオペランドを指定してください。指定したコネクション定義の数以上のコネクション確立要求を受けた場合,要求を拒否します。
●-k
(オペランド)
- keepalive=yes|no 〜《no》
-
TCP/IPが提供するソケットオプション「SO_KEEPALIVE」を使用するかどうかを指定します。
SO_KEEPALIVEを使用することで,コネクションの切断を検出することができるようになりますが,ネットワークの負荷を高める場合があります。そのため,この機能の必要性を十分に検討した上で使用するようにしてください。
- yes
-
キープアライブを使用します。
- no
-
キープアライブを使用しません。
- nodelay=yes|no 〜《no》
-
TCP/IPが提供するソケットオプション「TCP_NODELAY」を使用するかどうかを指定します。
TCP_NODELAYを使用することで,送信済みデータの応答待ちの状態でも,遅延させることなくデータ送信ができるようになりますが,ネットワークの負荷は大きくなります。そのため,この機能の必要性を十分に検討した上で使用するようにしてください。
- yes
-
TCP_NODELAYを使用します。
- no
-
TCP_NODELAYを使用しません。
- notrftime=無通信状態監視時間 〜〈符号なし整数〉((0〜65535))《0》(単位:秒)
-
コネクションの無通信状態の経過時間を監視するタイマ値を設定します。0を指定した場合,時間監視をしません。
- 注意事項
-
監視時間の精度は秒単位です。また,タイマ定義(mcfttim -t)のbtimオペランドで指定する時間の間隔でタイムアウトが発生したかどうかを監視しています。このため,このオペランドで指定した監視時間と実際にタイムアウトを検出する時間には秒単位の誤差が生じます。そのため,タイミングによっては,指定した監視時間よりも短い時間でタイムアウトすることがあります。監視時間が小さくなるほど,誤差の影響を受けやすくなりますので,監視時間は3(単位:秒)以上の値の設定を推奨します。
●-f
(オペランド)
- kind=ccls|cerr 〜《ccls》
-
- ccls
-
状態通知イベント(CCLSEVT)で通知します。
- cerr
-
障害通知イベント(CERREVT)で通知します。
- cnrelease=fin|rst 〜《fin》
-
障害などによるコネクション解放が発生したときのコネクション解放形態を指定します。コネクションを解放する要因と送信するパケットの関係については,「2.1.9 コネクション障害」を参照してください。
- fin
-
FINパケットを送信してコネクションを解放します。
- rst
-
RSTパケットを送信してコネクションを強制的に解放します。
- releaselog=1|2 〜《2》
-
コネクションを解放したときのログメッセージの形式を指定します。
- 1
-
KFCA14801-Iの形式で出力します。
- 2
-
KFCA14875-Iの形式で出力します。
- cnerrlog=1|2 〜《2》
-
障害によるコネクション切断が発生したときのログメッセージの形式を指定します。
- 1
-
KFCA14802-Eを出力します。
- 2
-
KFCA14802-EとKFCA14876-Iを出力します。
●-A
(オペランド)
- mastercn=現用コネクションID 〜〈1〜8文字の識別子〉
-
コネクション切り替え機能の使用時に,該当するコネクションを交代用として指定する場合に,その対となる現用コネクションIDを指定します。
このオペランドを指定した場合,現用コネクションで指定されている論理端末定義が反映されます。
このオペランドを指定するには,TP1/NET/High Availabilityが必要です。TP1/NET/High Availabilityがないと,コネクション切り替え機能を使用できません。
交代用コネクションとMCF通信構成定義との関係については,「6. システム定義」の「コネクションの形態とMCF通信構成定義との関係」を参照してください。
●-u
(オペランド)
- masm=yes|no 〜《no》
-
受信メッセージの組み立て機能を使用するかどうかを指定します。
- yes
-
受信メッセージ組み立て機能を使用します。
yesを指定した場合,入力セグメント判定UOCは無効となるため,入力セグメント判定UOCが組み込まれていても起動しません。
- no
-
メッセージ組み立て機能を使用しません。
入力セグメント判定UOCが組み込まれている場合,入力セグメント判定UOCを起動します。入力セグメント判定UOCが組み込まれていない場合,セグメントの組み立てをしないで,TP1/NET/TCP/IPが受信したデータを論理メッセージとします。
- ntimer=yes|no 〜《yes》
-
後続セグメント受信の監視タイマをセットするかどうかを指定します。このオペランドの指定値は,受信メッセージ組み立て機能を使用する場合,つまり,masmオペランドにyesを指定した場合だけ有効です。
- yes
-
監視タイマをセットします。
- no
-
監視タイマをセットしません。
- ntime=後続セグメント受信の監視タイマ値 〜〈符号なし整数〉((1〜2550))《30》(単位:秒)
-
後続セグメント受信の監視タイマをセットする場合に,監視タイマ値を指定します。後続セグメント受信監視時間がタイムアウトした場合,コネクションを解放し,CERREVTを起動します。
- 注意事項
-
監視時間の精度は秒単位です。また,タイマ定義(mcfttim -t)のbtimオペランドで指定する時間の間隔でタイムアウトが発生したかどうかを監視しています。このため,このオペランドで指定した監視時間と実際にタイムアウトを検出する時間には秒単位の誤差が生じます。そのため,タイミングによっては,指定した監視時間よりも短い時間でタイムアウトすることがあります。監視時間が小さくなるほど,誤差の影響を受けやすくなりますので,監視時間は3(単位:秒)以上の値の設定を推奨します。
- delichk=dccm2m|dccm2s|dccm3m|dccm3s|use|nouse 〜《nouse》
-
メッセージ送達確認機能を使用するかどうかを指定します。メッセージ送達確認機能を使用する場合,同期型メッセージの送受信関数を使用できません。
- dccm2m
-
メッセージ送達確認機能を使用し,TERMINAL文のCONTENTオペランドがMASTERを指定したDCCMII/TCPとして動作します。
- dccm2s
-
メッセージ送達確認機能を使用し,TERMINAL文のCONTENTオペランドがSLAVEを指定したDCCMII/TCPとして動作します。
- dccm3m
-
メッセージ送達確認機能を使用し,TERMINAL文のCONTENTオペランドがMASTERを指定したDCCM3/TCPとして動作します。
- dccm3s
-
メッセージ送達確認機能を使用し,TERMINAL文のCONTENTオペランドがSLAVEを指定したDCCM3/TCPとして動作します。
- use
-
任意の相手システム間とのメッセージ送達確認を行います。受信メッセージ判定UOCが組み込まれている場合,メッセージ受信後に呼び出します。受信メッセージ判定UOCが組み込まれていない場合,開始処理を中断します。
- nouse
-
メッセージ送達確認機能を使用しません。
- メッセージ送達確認機能を使用する場合のほかのオプション,オペランドとの関係
-
-
送信完了監視タイマ(-bオプションのsndcmptimオペランド)
メッセージの送信から応答データの受信までを監視します。
-
受信メッセージの組み立て機能を使用するかどうか(-uオプションのmasmオペランド)
dccm2m,dccm2s,dccm3m,dccm3sを指定した場合は,noを指定できません。省略した場合,yesを指定したものと見なします。
-
- msghold=nohold|hold|uoc 〜《nohold》
-
相手システムから受信したメッセージをTP1/NET/TCP/IP内で保留するかどうかを指定します。
ただし,同期型メッセージの送受信関数または同期型メッセージの受信関数で受信を待ち合わせていた場合,このオペランドの指定値に関係なく,同期型メッセージの送受信関数または同期型メッセージの受信関数を発行していたUAPに受信メッセージを通知します。
- holdlimit=受信メッセージ最大保留数 〜〈符号なし整数〉((0〜256))《1》
-
TP1/NET/TCP/IP内で保留する受信メッセージの最大数を指定します。
このオペランドの指定値を超えて受信メッセージを保留した場合,メッセージログ(KFCA14867-E)を出力し,コネクションを解放します。
0を指定した場合,最大保留数は無制限になります。ただし,実際に保留できるメッセージ数は,バッファグループ定義で指定したバッファ数(mcftbuf -g count)に依存します。
msgholdオペランドを省略した場合,またはmsgholdオペランドにnoholdを指定した場合,このオペランドの指定値は無効となります。
●-h
(オペランド)
- addrchk=yes|no 〜《yes》
-
コネクション確立要求受信時に相手アドレス情報をチェックするかどうかを指定します。
一つのMCF通信構成定義内でのすべてのサーバ型コネクションで,このオペランドに同じ値を指定する必要があります。
クライアント型コネクションにこのオペランドを指定しても無効となります。
- yes
-
コネクション確立要求受信時に相手アドレス情報をチェックします。
相手システムのアドレス情報を定義しておく必要があります。
コネクション定義で指定された相手アドレスと確立要求発行元アドレスが一致する場合は確立要求を受け入れますが,一致しない場合は確立要求を拒否します。
- no
-
コネクション確立要求受信時に相手アドレス情報をチェックしません(相手アドレスチェックを抑止します)。
相手システムのアドレス情報の定義は不要です。定義した場合は,無効となります。
コネクション確立UOCの判断によって,任意の相手システムと確立できます。未確立コネクションがない場合は,確立を拒否します。
noを指定した場合,ほかのオプションのオペランドとの関係は次のようになります。
-
-yオプションのmodeオペランドでclientを指定した場合は,addrchkオペランドの指定は無効となります。
-
-oオプションのoipaddrオペランド,ohostnameオペランドおよびoportnoオペランドで相手システムのアドレス情報を指定しても無効となります。
-
- chgconn=replace|keep 〜《keep》
-
相手システムからコネクションの確立要求を受け付けた場合に,割り当てできる未確立コネクションがないときの動作(コネクションリプレースの使用有無)を指定します。
一つのMCF通信構成定義内で,同じ自システムのポート番号(コネクション定義(mcftalccn -r)のportnoオペランドで指定)を持つすべてのサーバ型コネクション(コネクション定義(mcftalccn -y)のmodeオペランドでserverを指定)で,このオペランドに同じ値を指定する必要があります。
クライアント型コネクション(コネクション定義(mcftalccn -y)のmodeオペランドでclientを指定)および,相手ポート番号が固定(コネクション定義(mcftalccn -o)のoportnoオペランドに1〜65535を指定)のサーバ型コネクションにこのオペランドを指定した場合,無効となります。
- replace
-
コネクションリプレース機能を使用します。相手システムと確立状態にある最も古いコネクションを切断して,新たなコネクションの確立要求を受け付けます。
- keep
-
コネクションリプレース機能を使用しません。既存のコネクションの確立状態を保持し,相手システムからの新たなコネクション確立要求を拒否します。
このオペランドを省略した場合はkeepを仮定します。
- listen=auto|manual 〜《auto》
-
オンライン開始時に自動的にコネクション確立要求を受け付けるかどうかを指定します。
一つのMCF通信構成定義内で,同じ自システムのポート番号(mcftalccn -r portno)を持つすべてのサーバ型コネクションで,このオペランドに同じ値を指定する必要があります。
クライアント型コネクションにこのオペランドを指定した場合は無効となります。
- auto
-
オンライン開始時に自動的にコネクション確立要求を受け付けます。
- manual
-
MCF起動後に,相手システムからのコネクション確立要求の受け付けを開始します。コネクション確立要求の受付開始は,運用コマンド(mcftonln)の入力,またはAPI(dc_mcf_tonln関数もしくはCBLDCMCF('TONLN△△△'))で行います。
●-C
(オペランド)
●-l
(オペランド)
- replymsg=yes|no 〜《no》
-
問い合わせ応答形態および継続問い合わせ応答形態のメッセージ送受信を行うかどうかを指定します。
サーバ型コネクションで指定する場合,一つのMCF通信構成定義内で,同じ自システムのポート番号(コネクション定義(mcftalccn -r)のportnoオペランド)を持つすべてのサーバ型コネクション(コネクション定義(mcftalccn -y)のmodeオペランドでserverを指定)で,このオペランドに同じ値を指定する必要があります。
- yes
-
問い合わせ応答形態および継続問い合わせ応答形態のメッセージ送受信を行います。
yesを指定した場合,メッセージ送達確認機能は使用できません。コネクション定義(mcftalccn -u)のdelichkオペランドにnouse以外を指定した場合,定義オブジェクト生成時にKFCA11513-Eメッセージを出力してエラーとなります。
- no
-
問い合わせ応答形態および継続問い合わせ応答形態のメッセージ送受信を行いません。
- cnassign=freeonly|all 〜《freeonly》
-
問い合わせ応答形態および継続問い合わせ応答形態のメッセージ送受信を行う場合(コネクション定義(mcftalccn -l)のreplymsgオペランドでyesを指定),相手からのコネクション確立要求時にコネクションを割り当てる対象を選択します。
一つのMCF通信構成定義内で,同じ自システムのポート番号(コネクション定義(mcftalccn -r)のportnoオペランド)を持つすべてのサーバ型コネクション(コネクション定義(mcftalccn -y)のmodeオペランドでserverを指定)で,このオペランドに同じ値を指定する必要があります。
クライアント型コネクションにこのオペランドを指定しても無効となります。
- freeonly
-
未確立のコネクションのうち,継続問い合わせ応答中の論理端末に対応するコネクションを割り当て対象から除きます。また,コネクションリプレースと併用する場合,継続問い合わせ応答中の論理端末に対応するコネクションをコネクションリプレースの対象から除きます。
- all
-
未確立のコネクションすべてを割り当て対象とします。
継続問い合わせ応答中の論理端末に対応するコネクションが割り当てられた場合,KFCA14883-Eを出力し,コネクションを解放します。
replymsgオペランドを省略した場合,またはreplymsgオペランドにnoを指定した場合,このオペランドの指定値は無効となります。この場合,相手からのコネクション確立要求時には未確立のコネクションすべてを割り当て対象とします。
注意事項
-gオプション,および-eオプションで指定するバッファグループ番号は,バッファグループ定義のmcftbufコマンドに対応しています。mcftbufコマンドでは,1コネクション単位に次の表に示す資源が必要です。
なお,負荷テストの実行後にmcftlsbufコマンドに-mオプションを指定して実行すると,最大バッファ使用数を確認できます。計算式の計算結果によって大量のバッファ数が必要となった場合,最大バッファ使用数を基にバッファ数を調整してください。
バッファグループ定義については,マニュアル「OpenTP1 システム定義」を参照してください。
バッファ種別 |
lengthオペランド |
countオペランド※1 |
---|---|---|
sndbuf |
|
|
rcvbuf |
sndbufと同じ |
2または次の計算式のどちらか大きい方 (lengthオペランドの値/受信するメッセージの最小長)※3+(保留する受信メッセージの数)以上 (小数点以下を切り上げる) |
msgbuf |
sndbufと同じ |
2以上 |
- 注※1
-
lengthオペランドと受信メッセージの最小長の差が極端に大きく,大量のバッファ数が必要となる場合,extendオペランドを使用してください。これによって,MCF通信プロセスのメモリ使用量を抑えられます。
- 注※2
-
出力メッセージ編集UOCでメッセージサイズを変更している場合,次の値を設定してください。
-
mcftalccn -u delichk=use,nouseのとき
出力メッセージ編集UOCで変更したあとのメッセージサイズ,または最大論理メッセージ長
-
mcftalccn -u delichk=dccm2m,dccm2s,dccm3m,dccm3sのとき
出力メッセージ編集UOCで変更したあとのメッセージサイズ,または(最大論理メッセージ長+7)
-
- 注※3
-
-
相手システムから連続してメッセージを受信する場合,一つの受信バッファに複数のメッセージが格納されることがあります。受信メッセージ組み立て機能または入力セグメント判定UOCで分割する場合,分割した数に応じた受信バッファが必要となります。
一つの受信バッファに3個分のメッセージをまとめて受信した場合の例を次に示します。
-
相手システムから連続してメッセージを受信する形態では,受信メッセージの最大長よりも極端に大きい値をlengthオペランドに指定すると,一つの受信バッファに多数のメッセージが格納されることがあります。受信バッファに格納されたメッセージは,受信メッセージ組み立て機能または入力セグメント判定UOCによって分割され,格納されているメッセージ数に応じた受信バッファを確保します。そのため,countオペランドにも大きい値を指定する必要がありますので,lengthオペランドには適切な値を設定するようにしてください。
-
lengthオペランドよりも長い受信メッセージは受信できません。一つの受信メッセージを複数の受信バッファに分割して受信することもできません。
-