DCCM3論理端末では,通信相手となるClient .NETをIPアドレスとDCCM3論理端末のポート番号で区別する論理端末として定義し,論理端末ごとにメッセージの送受信を行っています。
したがって,複数のCUP.NETを同一マシンから起動した場合,どのCUP.NETからの要求でも,DCCM3論理端末から見るとIPアドレスが同じになってしまいます。複数のCUP.NETから同じDCCM3論理端末のポートにサービスを要求すると,DCCM3の定義では区別が付きません。そのため,該当するDCCM3の論理端末が複数定義されていた場合,DCCM3のどの論理端末にCUP.NETが割り当てられるのかが不定になってしまいます。サービス要求を受け付けるDCCM3の論理端末が異なると,DCCM3側のサーバ処理の順番が保証されなくなるため,業務によっては問題となることがあります。
CUP.NETがDCCM3論理端末と常設コネクションを確立するときに,端末識別情報をDCCM3論理端末に通知することで,CUP.NETに割り当てられるDCCM3の論理端末を固定することができます。これを端末識別情報設定機能といいます。この機能を使用することで,CUP.NETを常に同じDCCM3の論理端末に割り当てることができます。なお,DCCM3側では,この機能を端末固定割り当て機能といいます。
端末識別情報設定機能を使用していない場合と使用している場合のCUP.NETとDCCM3論理端末の関係を,次の図に示します。
図2-6 CUP.NETとDCCM3論理端末の関係(端末識別情報設定機能を使用していない場合)
![[図データ]](figure/zu090031.gif)
図2-7 CUP.NETとDCCM3論理端末の関係(端末識別情報設定機能を使用している場合)
![[図データ]](figure/zu090032.gif)
端末識別情報設定機能は,次のどちらかの方法で使用できます。
- 方法1
- Client .NET構成定義の<tp1Server>要素のhost属性にDCCM3論理端末のホスト名を指定します。
- Client .NET構成定義の<tp1Server>要素のport属性または<rapService>要素のport属性にDCCM3論理端末のポート番号を指定します。
- SetConnectInformationメソッドに端末識別情報を設定し,メソッドを呼び出します。
- 次のどちらかの方法でDCCM3論理端末との常設コネクションを確立します。
・ OpenConnectionメソッドを呼び出します。引数有りのOpenConnectionメソッドの場合,引数hostにDCCM3論理端末のホスト名,引数portにDCCM3論理端末のポート番号を指定します。
・ Client .NET構成定義の<rapService>要素のautoConnect属性にtrueを指定し,Callメソッドを呼び出します。
- 方法2
- Client .NET構成定義の<tp1Server>要素のhost属性にDCCM3論理端末のホスト名を指定します。
- Client .NET構成定義の<tp1Server>要素のport属性または<rapService>要素のport属性にDCCM3論理端末のポート番号を指定します。
- Client .NET構成定義の<rapService>要素のconnectInformation属性に端末識別情報を設定します。
- 次のどちらかの方法でDCCM3論理端末との常設コネクションを確立します。
・ OpenConnectionメソッドを呼び出します。引数有りのOpenConnectionメソッドの場合,引数hostにDCCM3論理端末のホスト名,引数portにDCCM3論理端末のポート番号を指定します。
・ Client .NET構成定義の<rapService>要素のautoConnect属性にtrueを指定し,Callメソッドを呼び出します。
- 注意
- Client .NET構成定義の<rapService>要素のconnectInformation属性に端末識別情報を設定して,SetConnectInformationメソッドに端末識別情報を設定した場合は,SetConnectInformationメソッドの設定が有効になります。<rapService>要素のconnectInformation属性に設定した値は,SetConnectInformationメソッドを呼び出したあと,再びOpenRpcメソッドを呼び出すまで無視されます。