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属性に指定した時間が満了した場合※1 | OSによるタイムアウト監視時間が満了した場合※2 |
---|---|---|---|
1 | SendAssembledMessage(System.Byte[], System.Int32, System.String, System.Int32, System.Int32, System.Int32) | ErrClientTimedOutException | ErrNetDownAtClientException |
2 | Send(System.Byte[], System.Int32, System.String, System.Int32, System.Int32) | ErrNetDownAtClientException | ErrNetDownAtClientException |
3 | OpenConnection(System.String, System.Int32) | ErrClientTimedOutException | ErrNetDownAtClientException |
4 | OpenConnection() | ErrClientTimedOutException | ErrNetDownAtClientException |
5 | Call(System.String, System.String, System.Byte[], System.Int32, System.Byte[], System.Int32&, System.Int32) | ErrClientTimedOutException | ErrNetDownAtClientException |
6 | CallTo(Hitachi.OpenTP1.Client.DCRpcBindTbl, System.String, System.String, System.Byte[], System.Int32, System.Byte[], System.Int32&, System.Int32) | ErrClientTimedOutException | ErrNetDownAtClientException |
7 | Begin() | ErrClientTimedOutException | ErrNetDownAtClientException |