4.4.1 dc_clt_connect_s − 常設コネクションの確立
- 〈この項の構成〉
(1) 形式
(a) _s付き関数の場合
#include <dcvclt.h> DCLONG dc_clt_connect_s(DCCLT_ID cltid, DCLONG flags)
(b) _s無し関数の場合
#include <dcvclt.h> DCLONG dc_clt_connect(DCLONG flags)
(2) 機能
CUP実行プロセス,rapサーバまたはDCCM3の論理端末との間に常設コネクションを確立します。
常設コネクションを確立するCUP実行プロセスが起動されているOpenTP1ノードは,dc_clt_cltin_s関数の引数target_hostに指定したOpenTP1ノード,クライアント環境定義DCCLTRAPHOSTまたはDCHOSTに指定したOpenTP1ノードです。
DCCM3の論理端末との間に常設コネクションを確立する場合,クライアント環境定義にDCCLTDCCMHOSTおよびDCCLTDCCMPORTを定義し,dc_clt_connect_s関数の引数flagsにDCCLT_DCCM3を指定します。
また,リモートAPI機能を使用する場合,DCCM3の論理端末との間に常設コネクションを確立するには,DCCLTRAPHOSTにDCCM3の論理端末のホスト名およびポート番号を指定し,dc_clt_connect_s関数の引数flagsにDCNOFLAGSを指定します。
(3) UAPで値を設定する引数
-
cltid
dc_clt_cltin_s関数で受け取ったクライアントIDを指定します。
-
flags
常設コネクションを確立する通信相手を指定します。
- DCNOFLAGS
-
CUP実行プロセス,rapサーバまたはDCCM3の論理端末との間に常設コネクションを確立します。
- DCCLT_DCCM3
-
DCCM3の論理端末との間に常設コネクションを確立します。
(4) リターン値
リターン値 |
数値 (10進数) |
意味 |
---|---|---|
DC_OK |
0 |
正常終了しました。または,すでに常設コネクションが確立されています。 |
DCCLTER_INVALID_ARGS |
-2501 |
引数が誤っています。 |
DCCLTER_PROTO |
-2502 |
次のどれかの要因が考えられます。
|
DCCLTER_NO_BUFS |
-2504 |
必要なバッファが確保できませんでした。または,リソース不足が発生しました。 |
DCCLTER_NET_DOWN |
-2506 |
通信障害が発生しました。 |
DCCLTER_TIMED_OUT |
-2507 |
常設コネクション確立時に時間切れ(タイムアウト)が発生しました。 |
DCCLTER_OLTF_NOT_UP |
-2515 |
次のどれかの要因が考えられます。
|
DCCLTER_SYSERR |
-2518 |
システムエラーが発生しました。 |
DCCLTER_WRONG_HOST |
-2539 |
DCCM3の論理端末に対する確立要求が発行されましたが,ホスト名が不正です。 |
DCCLTER_INVALID_CLTID |
-2544 |
cltidに指定したクライアントIDは,dc_clt_cltin_s関数で受け取ったクライアントIDと異なっています。 |
DCCLTER_PORT_IN_USE |
-2547 |
指定したポート番号は使用されています。または,OSが自動的に割り当てるポート番号が不足しています。 |
(5) 注意事項
-
dc_clt_connect_s関数がエラーリターンした場合,常設コネクションは確立されません。ただし,次のリターン値が返された場合,CUP実行プロセスまたはDCCM3の論理端末側では常設コネクションが確立状態になることがあります。
-
DCCLTER_NET_DOWN
-
DCCLTER_TIMED_OUT
-
DCCLTER_SYSERR
このとき,CUP実行プロセスまたはDCCM3の論理端末は,CUPからの要求を待ち続ける場合があります。要求待ちを避けるため,常設コネクション問い合わせ間隔最大時間(DCCM3論理端末の場合は端末放置監視時間)に適切な値を設定してください。
-
-
dc_clt_connect_s関数をトランザクション内で発行することはできません。
-
CUP実行プロセス,rapサーバ,またはクライアント環境定義DCCLTRAPHOSTに指定したDCCM3の論理端末との間に常設コネクションを確立した場合は,dc_clt_disconnect_s関数を呼び出すまでクライアント環境定義DCCLTDCCMHOSTに指定したDCCM3の論理端末との通信はできません。
また,クライアント環境定義DCCLTDCCMHOSTに指定したDCCM3の論理端末との間に常設コネクションを確立した場合は,dc_clt_disconnect_s関数を呼び出すまでCUP実行プロセス,rapサーバ,またはクライアント環境定義DCCLTRAPHOSTに指定したDCCM3の論理端末との通信はできません。
-
DCCM3の論理端末との間に常設コネクションを確立する場合,データ圧縮機能は使用できません。クライアント環境定義DCCLTDATACOMPの指定を省略するか,またはDCCLTDATACOMPにNを指定する必要があります。