Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/TCP/IP編


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〕"〕

機能

コネクションに関する環境を定義します。

オプション

●-c コネクションID  〜〈1〜8文字の識別子〉

OpenTP1システム内で,一意となるコネクションIDを指定します。

●-N

(オペランド)

modelname=モデルコネクションID  〜〈1〜8文字の識別子〉

このコネクション定義で使用する定義情報を持つ(モデルとする),コネクション定義のコネクションIDを指定します。ただし,指定したコネクションIDに対するコネクション定義が,先に定義されていなければなりません。

このオペランドを指定したときは,-cオプション以外のオプション,またはオペランドを省略できます。

-cオプション以外のオプション,またはオペランドを省略した場合,modelnameに指定したコネクションIDの定義指定値がすべて流用されます。

このコネクション定義に-Nオプション以外のオプション,またはオペランドを指定した場合は,指定したオプション,またはオペランドの指定値が優先されます。

このオプションは2回以上指定できません。また,モデルとしたコネクションと,-Nオプション以外に指定したオプション,またはオペランドの組み合わせによっては,相関チェックによってエラーになる場合があります。そのため,-iオプションには,モデル定義と異なる指定をしないでください。

●-p tcp

プロトコルの種別を指定します。

tcp

TCP/IPプロトコル

●-g

(オペランド)

sndbuf=メッセージ送信用バッファグループ番号  〜〈符号なし整数〉((1〜512))

メッセージ送信用バッファグループ番号を指定します。

mcftbufコマンドの-gオプションのgroupnoオペランドで指定するバッファグループ番号を指定してください。

rcvbuf=メッセージ受信用バッファグループ番号  〜〈符号なし整数〉((1〜512))

メッセージ受信用バッファグループ番号を指定します。

mcftbufコマンドの-gオプションのgroupnoオペランドで指定するバッファグループ番号を指定してください。

●-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以外は指定できません。

auto

OpenTP1システム開始時および再開始時にコネクションを自動的に確立します。

manual

MCF起動後,コネクションを確立します。コネクションの確立は,運用コマンド(mcftactcn)の入力,またはAPI(dc_mcf_tactcn関数もしくはCBLDCMCF('TACTCN△△'))の発行で行います。

●-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

(オペランド)

srtimout=yes|no  〜《no》

同期型メッセージの送受信関数がタイムアウトした場合に,コネクションの切断を抑止するかどうかを指定します。

yes

同期型メッセージの送受信関数がタイムアウトした場合,コネクションを切断しません。

no

同期型メッセージの送受信関数がタイムアウトした場合,コネクションを切断します。

●-t tcp

トランスポート層に適用するプロトコルを指定します。

tcp

TCP/IPプロトコル

●-y

(オペランド)

mode=client|server

自システムのコネクション確立モードを指定します。コネクション切り替え機能の対象となるコネクションの場合,このオペランドではclientしか指定できません。

client

クライアントとして,コネクションの確立要求をします。

server

サーバとして,コネクションの確立要求を受けます。

●-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に受信メッセージを通知します。

nohold

受信したメッセージを保留しません。

TP1/NET/TCP/IPは受信メッセージを入力キューに書き込み,MHPを起動します。

hold

受信したメッセージを保留します。

保留したメッセージは同期型メッセージの受信関数を使用して受信してください。

uoc

受信したメッセージごとに,受信メッセージ保留判定UOCで保留するかどうかを判定します。

受信メッセージ保留判定UOCが組み込まれていない場合,メッセージログ(KFCA14844-E)を出力し,開始処理を中断します。

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

(オペランド)

lscnfmt=1|2  〜《1》

mcftlscnコマンドの出力形式を指定します。

1

出力形式1(TP1/NET/TCP/IP 07-01以前と互換性のある形式)で状態表示します。

2

出力形式2(TP1/NET/TCP/IP 07-02で追加した形式)で状態表示します。

-dオプションを指定したときに,受信メッセージの保留数が追加で表示されます。

●-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

mcftalccn -u delichk=use,nouseの場合

(最大論理メッセージ長)※2以上

mcftalccn -u delichk=dccm2m,dccm2s,dccm3m,dccm3sの場合

(最大論理メッセージ長+7)※2以上

mcftalccn -u delichk=nouseの場合

1以上

mcftalccn -u delichk=dccm2m,dccm2s,dccm3m,dccm3s,useの場合

(受信バッファ数+1)以上

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オペランドよりも長い受信メッセージは受信できません。一つの受信メッセージを複数の受信バッファに分割して受信することもできません。