2.8.2 connectメソッドがタイムアウトした場合の例外

OSによるconnectメソッドのタイムアウト監視時間が満了した場合と,Client .NET構成定義の<socket>要素のconnectTimeout属性に指定した時間が満了した場合とでは,Client .NETのAPIから返る例外が異なります。これは,満了する監視時間の違いによって,発生する現象が異なるためです。

connectTimeout属性に,OSによるタイムアウト監視時間よりも大きい値を指定した場合,OSによるタイムアウト監視時間が先に満了します。このため,connectTimeout属性の指定は無効となります。connectTimeout属性の指定を省略した場合,connectメソッドのタイムアウト監視時間は,レジストリの設定値となります。

OSによるconnectメソッドのタイムアウト監視時間が満了した場合と,connectTimeout属性に指定した時間が満了した場合の,Client .NETのAPIが返す例外を次の表に示します。

表2-7 connectメソッドがタイムアウトした場合にAPI(メソッド)が返す例外

項番API(メソッド)connectTimeout属性に指定した時間が満了した場合※1OSによるタイムアウト監視時間が満了した場合※2
1SendAssembledMessage(System.Byte[], System.Int32, System.String, System.Int32, System.Int32, System.Int32)ErrClientTimedOutExceptionErrNetDownAtClientException
2Send(System.Byte[], System.Int32, System.String, System.Int32, System.Int32)ErrNetDownAtClientExceptionErrNetDownAtClientException
3OpenConnection(System.String, System.Int32)ErrClientTimedOutExceptionErrNetDownAtClientException
4OpenConnection()ErrClientTimedOutExceptionErrNetDownAtClientException
5Call(System.String, System.String, System.Byte[], System.Int32, System.Byte[], System.Int32&, System.Int32)ErrClientTimedOutExceptionErrNetDownAtClientException
6CallTo(Hitachi.OpenTP1.Client.DCRpcBindTbl, System.String, System.String, System.Byte[], System.Int32, System.Byte[], System.Int32&, System.Int32)ErrClientTimedOutExceptionErrNetDownAtClientException
7Begin()ErrClientTimedOutExceptionErrNetDownAtClientException
注※1
Client .NET構成定義の<socket>要素のconnectTimeout属性に指定した時間が満了した場合に発生する例外です。
注※2
connectメソッドでOSによるコネクション確立処理の監視時間が満了した場合に発生する例外です。コネクション確立処理の監視時間(コネクション確立要求の再送回数,間隔)はレジストリの設定によって異なります。