システムエラー(10054) - 既存の接続がリモートホストによって強制的に閉じられました

システムエラー(10054) - 既存の接続がリモートホストによって強制的に閉じられました

私は Altitude Software 製のダイヤラーを使用しています。この製品について知っている人はほとんどいないと思いますので、ご容赦ください。

問題: Altitude ダイヤラー ソフトウェアは、Windows Server 2012 R2 上で実行されるアプリケーションです。OS は VMware 6.7 上で仮想化されています。

エージェント/クライアントは、Altitude uAgent と呼ばれる Windows アプリケーションを介して Altitude ダイヤラー (サーバー) に接続します。

時々、Altitude サーバーのログに次のようなエラーが何千も書き込まれます: システム エラー (10054) - 既存の接続がリモート ホストによって強制的に閉じられました。

私の理解する限り、このエラーはオペレーティング システムに起因しています。

サーバーは当社のホスティング パートナーに配置され、すべてのクライアントはネットワーク レベルで VPN 経由で接続されます (PC 上の VPN クライアントではありません)。

このエラーが発生すると、どのユーザーも正常に作業できなくなります。

問題は、ホスティング パートナーもアプリケーションの作成者 (Altitude Software) も、何が起こっているのか把握できないことです。ホスティング パートナーは、ネットワークに問題は見当たらないと言っています。Altitude は、エラーは確認できるが、原因はわからないと言っています。アプリケーション外部の問題だと言っています。この状況は耐え難いものです。

クライアントは Windows 10 Pro を使用します。

私たちが試したこと:

Windows Server 2012 R2 OS を最初から再インストールし、その後 Altitude サーバーを再インストールしようとしました。2 週間後、問題が再発しました。サーバーのローカル FW は無効になっており、ウイルス対策ソフトウェアなどはインストールされていません。

TCP接続数を増やしました

状況は耐え難く、誰もこの件について解明できていないようです。このエラーを追及するアイデアはありますか?

答え1

私は Altitude でテクニカル エンジニアとして働いており、顧客環境で同じエラーに直面しました。エラー 10054 自体は、システム レベルでのソケット不足が原因で発生するシステム エラーです。次の操作で問題を解決できました。

  1. Altitude uCI は、プロセス間通信や他のコンポーネントとの通信にランダムなポート/ソケットを使用しています。範囲を設定/拡大するには、以下のコマンドを参照してください。デフォルトでは、TCP/UDP 接続で許可されるポートの範囲は 16000 程度のみです。

netsh int ipv4 動的ポートを設定する tcp 開始=8200 番号=57336

netsh int ipv4 動的ポートを設定 udp 開始=8200 番号=57336

以下のコマンドを実行して、新しいソケットの割り当てを確認します。

netsh int ipv4 ダイナミックポート tcp を表示

netsh int ipv4 ダイナミックポートudpを表示

  1. Altitude Assisted Server がインストールされているレジストリに以下のエントリを追加します。

これにより、待機遅延時間と TCP 接続数が増加します。

ここに画像の説明を入力してください

敬具: ウメル

関連情報