各プラットフォームで固有のconnectメソッドのタイムアウト監視時間が満了した場合と,dccltconnecttimeoutオペランドに指定した時間が満了した場合とでは,TP1/Client/JのAPIから返る例外が異なります。これは,満了する監視時間の違いが,connectメソッドで発生する例外に影響するためです。
dccltconnecttimeoutオペランドに,各プラットフォーム固有のタイムアウト監視時間よりも大きい値を指定した場合,各プラットフォーム固有のタイムアウト監視時間が先に満了します。このため,dccltconnecttimeoutオペランドの指定は無効となります。dccltconnecttimeoutオペランドの指定を省略した場合,connectメソッドのタイムアウト監視時間は,各プラットフォームで固有となります。
各プラットフォームで固有のconnectメソッドのタイムアウト監視時間が満了した場合と,dccltconnecttimeoutオペランドに指定した時間が満了した場合の,TP1/Client/JのAPIが返す例外を次の表に示します。
表2-4 connectメソッドがタイムアウトした場合に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 |