2.8.2 connectメソッドがタイムアウトした場合の例外
各プラットフォームで固有のconnectメソッドのタイムアウト監視時間が満了した場合と,dccltconnecttimeoutオペランドに指定した時間が満了した場合とでは,TP1/Client/JのAPIから返る例外が異なります。これは,満了する監視時間の違いが,connectメソッドで発生する例外に影響するためです。
dccltconnecttimeoutオペランドに,各プラットフォーム固有のタイムアウト監視時間よりも大きい値を指定した場合,各プラットフォーム固有のタイムアウト監視時間が先に満了します。このため,dccltconnecttimeoutオペランドの指定は無効となります。dccltconnecttimeoutオペランドの指定を省略した場合,connectメソッドのタイムアウト監視時間は,各プラットフォームで固有となります。
各プラットフォームで固有のconnectメソッドのタイムアウト監視時間が満了した場合と,dccltconnecttimeoutオペランドに指定した時間が満了した場合の,TP1/Client/JのAPIが返す例外を次の表に示します。
|
項番 |
メソッド |
各プラットフォーム固有※1 |
dccltconnecttimeoutオペランド※2 |
|---|---|---|---|
|
1 |
cltAssemSend(byte[] buff, int sendleng, String hostname, int portnum, int timeout, int flags) |
ErrNetDownAtClientException |
ErrClientTimedOutException |
|
2 |
cltSend(byte[] buff, int sendleng, String hostname, int portnum, int flags) |
ErrNetDownAtClientException |
ErrClientTimedOutException |
|
3 |
openConnection(String host, int port) |
ErrNetDownAtClientException |
ErrClientTimedOutException |
|
4 |
openConnection() |
ErrNetDownAtClientException |
ErrClientTimedOutException |
|
5 |
rpcCall(String group, String service, byte[] in_data, int[] in_len, byte[] out_data, int[] out_len, int flags) |
ErrNetDownAtClientException |
ErrClientTimedOutException |
|
6 |
rpcCall(String group, String service, byte[] in_data, byte[] out_data, int flags) |
ErrNetDownAtClientException |
ErrClientTimedOutException |
|
7 |
rpcCallTo(DCRpcBindTbl direction, String group, String service, byte[] in_data, int[] in_len, byte[] out_data, int[] out_len, int flags) |
ErrConnRefusedException |
ErrNetDownAtClientException |
|
8 |
trnBegin() |
ErrConnRefusedException |
ErrClientTimedOutException |
- 注※1
-
各プラットフォームで固有のconnectメソッドのタイムアウト監視時間が満了した場合に発生する例外です。
- 注※2
-
dccltconnecttimeoutオペランドに指定した時間が満了した場合に発生する例外です。