Tips

XP上で -10002 のエラー発生を低減する方法

日付2003/10/23
ID30013 (英語原文参照)
バージョン6.7.x, 6.8.x, 2003.x
プラットフォームWindowsXP

このテクニカルチップスで紹介する情報を利用した作業は、慎重に行ってください。レジストリエディタは、誤って利用すると、深刻な障害を招く事になります。


現在の4Dシステムはご存知の通り、すべてのネットワーク通信をTCP/IPを通じて行っています。4DがネットワークへTCPパケットを送る時、まず最初に、TCPドライバーへパケットを渡そうとします。そしてドライバは、ローレベルコマンドを使って、パケットをネットワークへ流そうとします。受け取り側コンピュータのドライバが、パケットを受け取ると、それを目的のアプリケーションへ転送します。
 この流れの中で、まず4Dがドライバーへパケットを渡した段階で、ドライバーがエラーを返すと、4Dは何度かパケット送信を再試行します。それでも失敗に終われば、4Dはエラーを報告します。
 この手順はTCPドライバも同様で、4Dから受け取ったパケットをネットワークへ送り出そうとして、問題が起きれば、やはり何度か同じ事を再試行します。それでもだめなら、同様にアプリケーションに対してエラー発生を報告します。


以下のURLには、マイクロソフト社によって、発行されたTCP/IP設定の調整に関する記事が読めます。
『TCP/IP and NBT Configuration Parameters for Windows XP』

この記事では、高負荷ネットワーク環境で、接続失敗を引き起こした4D Server/4D Client間の問題を解決するのに役立ちます。重要なパラメータは「KeepAliveInterval」と「TcpMaxDataRetransmissions」です。
TcpMaxDataRetransmissionsは、TCPドライバーが再試行する最大の回数です。
そして、KeepAliveIntervalは再試行の繰り返し処理を許可する最長時間です。KeepAliveIntervalの方が優先されます。(単位はmilliseconds)