Una connessione esistente è stata forzatamente chiusa dall'host remoto

Hai di recente affrontato il "Una connessione esistente è stata forzatamente chiusa dall'host remoto” errore sul tuo sistema? Questo problema si verifica in genere quando si tenta di connettersi con qualsiasi host remoto e il processo non riesce.

Dopo aver esaminato i vari reclami e lamentele segnalati dagli utenti, abbiamo esaminato il problema e individuato le soluzioni migliori.

Una connessione esistente è stata forzatamente chiusa dall'host remoto

Sii paziente e leggi l'articolo.

Quali sono le ragioni dietro l'errore "Una connessione esistente è stata forzatamente chiusa dall'host remoto"?

La mancanza di una presenza fisica caratterizza il computer remoto. Ciò significa che l'unico modo per accedere a questo computer è attraverso una rete di computer. Il computer che ospita la rete per il particolare computer remoto è chiamato Remote Host.

L'utente che gestisce il computer remoto attraverso la rete è chiamato client remoto. Questa è una grande caratteristica e ha rivoluzionato l'elaborazione di calcolo.

Tuttavia, questa connessione tra l'host e il client ha recentemente riscontrato errori.

Ma prima di iniziare, lascia che ti guidiamo anche attraverso le cause che sono i potenziali produttori di problemi in modo che tu possa risolvere meglio:

  • Crittografia disabilitata - Se non si è notato che la funzionalità di crittografia è disabilitata sulla macchina che si sta utilizzando, impedirà alla macchina di utilizzare TLS 1.2 e ripristinerà l'applicazione all'utilizzo di TLS 1.0. Questo deprezzamento automatico genera l'errore.
  • L'uso di TLS 1.0 / 1.1 – Se l'applicazione utilizza TLS 1.0 o TLS 1.1 per il funzionamento e l'archiviazione, è molto probabile che i TLS deprezzati causino l'errore. Il tipo corretto di TLS da utilizzare è il TLS 1.2 durante la selezione del protocollo corretto da utilizzare dall'applicazione.
  • Implementazione socket difettosa – Ci sono alcuni casi in cui un'implementazione di socket specifica diventa la ragione dell'errore di connessione persa. L'applicazione .NET associata che causa le implementazioni potrebbe avere alcuni bug e diventare la causa di problemi.
  • Codice perso – Anche alcuni utenti che hanno lavorato con Entity Framework hanno riscontrato l'errore. Ciò è stato causato da una riga di codice specifica che è andata persa, causando problemi nel funzionamento dell'applicazione.
  • Un vecchio .NET Framework – In alcuni casi in cui si verificava l'errore "Una connessione esistente è stata chiusa forzatamente dall'host remoto", il motivo era che il framework .NET era disabilitato. Alcune attività del sistema richiedono l'installazione dell'ultima versione del framework sul PC per funzionare correttamente. Se la condizione non è soddisfatta, cessano di funzionare.

Cinque metodi migliori per correggere l'errore di connessione

Scegli una di queste soluzioni in base al problema che causa l'errore.

Inoltre, qui, scoprirai qual è il Centro di controllo ETD.

Metodo 1: abilitare la crittografia

Uno dei motivi principali per cui è stato visualizzato il messaggio di errore che diceva "Una connessione esistente è stata chiusa forzatamente dall'host remoto" è che è vietato eseguire TLS 1.2 sulla macchina.

Ciò ha impedito alla crittografia di essere operativa in tal modo e ha causato il problema. Una soluzione logica che seguirà è abilitare la crittografia, che potenzialmente risolverà il problema.

Di seguito è riportata la serie di passaggi che è necessario seguire per abilitare l'operazione Crittografica:

1. Premere i tasti Windows + R insieme per avviare il prompt della finestra di dialogo Esegui.

2. Immettere il comando regedit. Ora premi il pulsante di accesso.

regedit

3. Scorri verso il basso e trova l'indirizzo:

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

4. Guarda nel riquadro di destra e se non trovi alcun valore come "SchUseStrongCrypto, "Quindi dovrai trovare questo indirizzo:

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

5. Ancora una volta, guarda attraverso il riquadro della finestra di destra e fai clic con il pulsante destro del mouse sull'opzione di "SchUseStrongCrypto“. Quindi inserisci il numero 1 come valore dei dati inseriti.

Abilita la crittografia

6. Infine, fai clic sull'opzione OK per salvare le modifiche apportate correttamente.

Ora torna all'operazione che stavi eseguendo in precedenza e verifica se l'errore è scomparso.

Metodo 2: forzare l'avvio dell'utilizzo di TLS 1.2

Potrebbe non essere stato notato, ma l'applicazione che stavi cercando di eseguire potrebbe aver subito alcuni cambiamenti nella sua configurazione. A volte le impostazioni utente di qualsiasi applicazione sono impostate su TLS 1.0 o TLS 1.1, mentre l'opzione corretta dovrebbe essere TLS 1.2.

Questa modifica può diventare la causa dell'errore "Una connessione esistente è stata chiusa forzatamente dall'host remoto". Questo metodo gestirà l'errore modificando tali configurazioni di sistema e impostandolo su TLS 1.2. Segui i passaggi indicati di seguito:

1. Navigare e trovare la cartella principale del sito Web specifico. Ora fai clic con il pulsante destro del mouse sul file con il nome global.asax.

2. Selezionare l'opzione di View Code dall'elenco indicato.

3. Trova l'opzione del metodo denominato "Application_Start' che deve essere nel riquadro della finestra successivo. La riga di codice che ti forniamo di seguito deve essere aggiunta nel metodo particolare:

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

Forza il lancio dell'utilizzo di TLS 1.2

4. Risparmi queste modifiche che hai apportato.

Torna a eseguire l'operazione precedente e verifica se il metodo ha rimosso l'errore.

Metodo 3: modificare l'implementazione del socket

Un'implementazione errata del socket è un altro probabile motivo per cui l'errore "Una connessione esistente è stata chiusa forzatamente dall'host remoto" ha creato problemi con il programma che si desiderava far funzionare.

A volte, si verifica qualsiasi problema tecnico o bug che potrebbe aver influito sull'implementazione del socket relativa al programma.

Ciò impedisce il corretto funzionamento degli elementi relativi al programma e il risultato è l'errore, come accennato in precedenza. In questo metodo, abbiamo cercato di configurare e impostare una nuova implementazione, che sarà diversa dalla precedente.

Segui i passaggi che diamo di seguito:

1. Prima di iniziare il processo, controllare correttamente e assicurarsi che la classe StateObject è a tua disposizione. Il codice "public byte[] buffer = new byte[1024], public Socket socket;"Dovrebbe esserci anche tu.

2. Effettua una chiamata tramite la funzione denominata "Receive (Socket s)"E quindi chiamare il codice indicato"void ReceiveCallback(IAsyncResult ar)"

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

Dopo aver implementato con successo questo codice, torna indietro e verifica se l'errore persiste. Probabilmente a questo punto sarebbe stato risolto. In caso contrario, procedi con i metodi successivi che ti forniamo per gestire l'errore "Una connessione esistente è stata chiusa forzatamente dall'host remoto".

Metodo 4: aggiungere le righe di comando (per gli utenti di Entity Framework)

Se sei stato un utente di Entity Framework, potrebbe esserci la possibilità che una particolare riga di codice sia stata tralasciata.

Miriamo a risolvere questo problema in questo metodo, in cui aggiungeremo la riga di codice mancante per risolvere il problema di errore dell'host finale.

Segui i passaggi seguenti per farlo:

1. Apri il file denominato ".edmx.' sul sistema in uso. Troverai un file chiamato '.context.tt' sotto il file precedente. Aprilo.

2. Ora apri il file denominato ".context.cs'. Nel costruttore associato, devi inserire la riga di codice che ti forniamo di seguito:

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

Una volta che il comando viene eseguito correttamente, torna all'applicazione che stavi tentando di aprire e verifica che non abbia errori.

Metodo 5: aggiorna .NET Framework

Molti elementi devono funzionare correttamente affinché qualsiasi applicazione funzioni senza intoppi. Il framework .NET è uno di questi componenti ed è necessario che l'ultima versione di questo framework sia installata sul PC per garantire il corretto funzionamento delle relative applicazioni.

Pertanto, questo metodo si occuperà dell'installazione della versione aggiornata del framework .NET dal sito Web corretto.

Seguire i passaggi per farlo:

1. Aprire il sito Web ufficiale di Microsoft per scaricare la configurazione del framework in questione. Termina il download e inizia a installare correttamente l'installazione.

2. Trovare il .exe file nell'installazione e aprirlo per eseguirlo. Ciò avvierà il processo di installazione del programma quadro.

Aggiorna .NET Framework

3. Continuare a seguire le istruzioni visualizzate sullo schermo per installare correttamente l'applicazione sul PC in uso.

Ora torna indietro per eseguire il programma che stavi provando in precedenza. Verifica se questo metodo rimuove correttamente l'errore "Una connessione esistente è stata chiusa forzatamente dall'host remoto".

PS: scopri di più su come risolvere problemi come si è verificato un problema durante l'invio del comando al programma.

Conclusione

L'errore "Una connessione esistente è stata forzatamente chiusa dall'host remoto” ostacola la connessione tra il server e il client. Ci auguriamo che le soluzioni abbiano aiutato a correggere l'errore ed eliminarlo.

Jack

Dieci anni di esperienza nell'informatica e nell'informatica. Appassionato di dispositivi elettronici, smartphone, computer e tecnologia moderna.