既存の接続がリモートホストによって強制的に閉じられました

最近、「既存の接続がリモートホストによって強制的に閉じられました」システムのエラー? この問題は通常、リモートホストに接続しようとしたときに発生し、プロセスは失敗します。

ユーザーから報告されたさまざまな苦情や苦情を経て、問題を調査し、最善の解決策を考え出しました。

既存の接続がリモートホストによって強制的に閉じられました

我慢して記事を読んでください。

「既存の接続がリモートホストによって強制的に閉じられました」というエラーの原因は何ですか?

物理的な存在の欠如は、リモートコンピュータの特徴です。 これは、このコンピューターにアクセスする唯一の方法がコンピューターネットワークを介することを意味します。 特定のリモートコンピューターのネットワークをホストするコンピューターは、リモートホストと呼ばれます。

ネットワークを介してリモートコンピュータを操作するユーザーは、リモートクライアントと呼ばれます。 これは優れた機能であり、革新的なコンピューティング処理です。

ただし、ホストとクライアント間のこの接続は最近エラーに直面しています。

しかし、始める前に、潜在的な問題の原因である原因についても説明し、修正をより適切に行うようにします。

  • 無効化された暗号化 –使用しているマシンで暗号化の機能が無効になっていることに気付いていない場合は、マシンがTLS 1.2を使用できず、アプリケーションがTLS 1.0の使用に戻ります。 この自動減価償却はエラーを引き起こします。
  • TLS 1.0 / 1.1の使用 –アプリケーションが操作とストレージにTLS1.0またはTLS1.1を使用している場合、減価償却されたTLSがエラーの原因である可能性が高くなります。 使用するTLSの適切なタイプは、アプリケーションで使用する適切なプロトコルを選択する際のTLS1.2です。
  • 不完全なソケット実装 –特定のソケット実装が接続喪失エラーの背後にある理由になる場合があります。 実装の原因となる関連する.NETアプリケーションには、いくつかのバグがあり、トラブルメーカーになる可能性があります。
  • 紛失したコード – Entity Frameworkを使用している一部のユーザーも、エラーに直面していることがわかりました。 これは、失われた特定のコード行が原因で、アプリケーションの操作に問題が発生しました。
  • 古い.NET Framework –「リモートホストによって既存の接続が強制的に閉じられました」というエラーが発生した場合は、.NETFrameworkが無効になっていることが原因です。 システムの一部のタスクを正しく実行するには、最新バージョンのフレームワークをPCにインストールする必要があります。 条件が満たされない場合、それらは機能を停止します。

接続エラーを修正するためのXNUMXつの最良の方法

エラーの原因となっている問題ごとに、これらの解決策のいずれかを選択してください。

さらに、ここでは、何であるかを理解します ETDコントロールセンター.

方法1:暗号化を有効にする

「既存の接続がリモートホストによって強制的に閉じられました」というエラーメッセージが表示される主な理由の1.2つは、TLSXNUMXをマシン上で実行することが禁止されていることです。

これにより、暗号化が機能しなくなり、問題が発生しました。 次の論理的な解決策は、暗号化を有効にすることです。これにより、問題が解決する可能性があります。

以下は、暗号化操作を有効にするために従う必要のある一連の手順です。

1.キーを押します Windows + R 一緒に実行ダイアログボックスのプロンプトを起動します。

2.コマンドを入力します regedit。 次に入るボタンを押してください。

regeditを

3.下に移動して、アドレスを見つけます。

KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.3031

4.右側のペインの内側を見て、「SchUseStrongCrypto」の場合、このアドレスを見つける必要があります。

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319

5.もう一度、右側のウィンドウペインを確認し、「」のオプションを右クリックします。SchUseStrongCrypto。」 次に番号を入力してください 1 入力されるデータの値として。

暗号化を有効にする

6.最後に、オプションをクリックします OK 正常に行った変更を保存します。

ここで、前に実行していた操作に戻り、エラーがなくなったかどうかを確認します。

方法2:TLS1.2の使用を強制的に開始する

気付かなかったかもしれませんが、実行しようとしているアプリケーションで、構成に特定の変更が加えられた可能性があります。 アプリケーションのユーザー設定がTLS1.0またはTLS1.1に設定されている場合もありますが、正しいオプションはTLS1.2である必要があります。

この変更は、「既存の接続がリモートホストによって強制的に閉じられました」というエラーの原因になる可能性があります。 この方法では、このようなシステム構成を変更し、TLS1.2に設定することでエラーを処理します。 以下の手順に従ってください。

1.特定のWebサイトのルートフォルダーに移動して見つけます。 次に、名前の付いたファイルを右クリックします。 global.asax.

2.オプションを選択します View Code 与えられたリストから。

3. 'という名前のメソッドのオプションを見つけますApplication_Start'次のウィンドウペインにある必要があります。 以下に示すコード行は、特定のメソッドに追加する必要があります。

if (ServicePointManager .SecurityProtocol.HasFlag (SecurityProtocoType.Tls12) == false)
{
ServicePointManager.SecurityProtocol = ServicePointManager.SecurityProtocol | SecurityProtocolType.Tls12;
}

TLS 1.2の使用を強制的に開始する

4. セールで節約 あなたが行ったこれらの変更。

前の操作の実行に戻り、メソッドがエラーを削除したかどうかを確認します。

方法3:ソケットの実装を変更する

ソケットの実装不良は、「既存の接続がリモートホストによって強制的に閉じられました」というエラーが、操作したいプログラムに問題を引き起こしているもうXNUMXつの考えられる理由です。

プログラムに関連するソケットの実装に影響を与えた可能性のある不具合やバグが発生する場合があります。

これにより、プログラムの関連要素がスムーズに実行されなくなり、前述のようにエラーが発生します。 この方法では、以前の実装とは異なる新しい実装を構成およびセットアップしようとしました。

以下の手順に従ってください。

1.プロセスを開始する前に、適切にチェックし、クラスが StateObject 利用可能です。 コード "public byte[] buffer = new byte[1024], public Socket socket;」もそこにあるはずです。

2.“という名前の関数を呼び出しますReceive (Socket s)」、次に上記のコードを呼び出します「void ReceiveCallback(IAsyncResult ar)

SocketError errorCode;
Int nBytesRec = socket.EndReceive (ar, out errorCode);
If (errorCode != SocketError.Success)
{
nBytesRec = 0;
}

このコードを正常に実装したら、戻ってエラーが残るかどうかを確認します。 それはおそらく今では解決されるでしょう。 そうでない場合は、「既存の接続がリモートホストによって強制的に閉じられました」というエラーに対処するために提供される次の方法に進みます。

方法4:コマンドラインを追加する(Entity Frameworkのユーザー向け)

Entity Frameworkを使用している場合は、特定のコード行が省略されている可能性があります。

このメソッドでこの問題に対処することを目指しています。ここでは、欠落しているコード行を追加して、最終的なホストエラーの問題を修正します。

これを行うには、以下の手順に従います。

1. 'という名前のファイルを開きます.edmx。」 使用しているシステムで。 'という名前のファイルがあります.context.tt'前のファイルの下。 それを開く。

2. 'という名前のファイルを開きます.context.cs'。 アソシエイトコンストラクターで、以下に示すコード行を入力する必要があります。

Public DBEntities ()
: base(“name=DBEntities”)
{
This.Configuration.ProxyCreationEnabled = false; // ADD THIS LINE !
}

コマンドが正常に実行されたら、開こうとしていたアプリケーションに戻り、エラーが発生していないことを確認します。

方法5:.NET Frameworkを更新する

アプリケーションをスムーズに実行するには、多くの要素が適切に動作する必要があります。 .NET FrameworkはそのようなコンポーネントのXNUMXつであり、関連するアプリケーションが適切に機能するようにするには、このフレームワークの最新バージョンをPCにインストールする必要があります。

したがって、この方法では、適切なWebサイトから更新されたバージョンの.NETFrameworkをインストールします。

手順は次のとおりです。

1.関連するフレームワークのセットアップをダウンロードするには、Microsoftの公式Webサイトを開きます。 ダウンロードを終了し、セットアップを正しくインストールし始めます。

2。 を見つける .exeファイル セットアップでファイルを開き、実行するために開きます。 これにより、フレームワークプログラムのインストールプロセスが開始されます。

.NET Frameworkを更新する

3.使用しているPCにアプリケーションを正しくインストールするための画面に表示される指示に従ってください。

ここで、前に実行しようとしていたプログラムを実行するために戻ります。 この方法で、「既存の接続がリモートホストによって強制的に閉じられました」というエラーが正常に削除されるかどうかを確認してください。

PS:次のような問題を修正する方法の詳細をご覧ください コマンドをプログラムに送信中に問題が発生しました.

結論

エラー "既存の接続がリモートホストによって強制的に閉じられました」は、サーバーとクライアント間の接続を妨げます。 ソリューションがエラーの修正と解消に役立つことを願っています。

Jack

情報およびコンピューター技術におけるXNUMX年の経験。 電子機器、スマートフォン、コンピューター、そして現代のテクノロジーに情熱を注いでいます。