人気ブログランキング | 話題のタグを見る

それは日常の記録

ボス日記

ネットワークの接続が20秒でタイムアウトする話

ネットワーク接続のタイムアウトをアプリケーションで制御しようとしても、およそ20秒で切断されてしまう、なんてことが起きる。
これはWindowsのTCP/IPの設定のせいで、OSレベルで制御を行っているので、アプリケーションで容易に制御できるものではない。
なおこのタイムアウト秒数だが、正確には21秒である。少なくともWindowsXPではデフォルトでTCP/IP接続を3回まで試みる。1回目は接続の応答があるまで3秒待ち、2回目は6秒待ち、3回目は12秒待つ。設定を変えて3回以上のリトライを行う場合、応答待ち時間は倍々に伸びていく。

Windows XP での TCP/IP と NBT の構成パラメータ

リトライ回数は以下のレジストリキーを設定することで、変更可能である。

キー:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
値の名前:TcpMaxConnectRetransmissions
デフォルト値:2 (DWORD値)

デフォルトでは上記キーの中にこのような値の名前は存在しない。新規作成で値を作る必要がある。
設定する値はリトライ回数なので、接続を試みる回数はこの回数プラス最初の一回となる。

応答待ち時間が倍々になることを考えると、この値の設定値とタイムアウト時間の関係は以下の通り。

0 3秒
1 9秒
2 21秒
3 45秒
4 93秒
5 189秒
6 381秒

まあ、OSレベルで設定を変える場面など、ビジネスシーンでは早々あるものではないだろう。
by hshimaji | 2010-02-16 23:45 | コンピュータ | Trackback

by hshimaji
カレンダー
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31