Com es corregeix l'error 'S'ha tancat la connexió existent per l'amfitrió remot'?



Proveu El Nostre Instrument Per Eliminar Problemes

Un ordinador remot és aquell que no té presència física; només s’hi pot accedir mitjançant una xarxa informàtica. L'amfitrió remot és l'ordinador que allotja la xarxa que allotja l'ordinador remot i el client remot és l'usuari del client remot de la xarxa. Aquesta característica ha revolucionat molts processos i té un gran abast en el futur.



L'error d'amfitrió local va tancar per força una connexió existent



Tanmateix, recentment, han arribat molts informes sobre un ' l'amfitrió remot va tancar per força una connexió existent ”En intentar connectar-se a l’amfitrió remot. Aquest error es desencadena amb una connexió de sòcol entre un client i un servidor. En aquest article, proporcionarem algunes solucions viables per corregir completament aquest error i també us informarem dels motius que desencadenen aquest error.



Què provoca l'error 'L'amfitrió remot ha tancat per força una connexió existent' al Windows?

Després de rebre nombrosos informes de diversos usuaris, vam decidir investigar el problema i vam idear un conjunt de solucions per solucionar-lo. A més, vam examinar els motius pels quals es desencadena i els vam enumerar a continuació.

  • Ús de TLS 1.1 / 1.0: Si l'aplicació s'executa a TLS 1.1 o TLS 1.0, pot provocar aquest error a causa de la seva depreciació. TLS 1.2 és el camí a seguir en seleccionar el protocol que utilitza l'aplicació.
  • Criptografia desactivada: Si la criptografia s'ha desactivat per a la vostra màquina, evitarà l'ús de TLS 1.2 i recaurà sobre TLS 1.0, que podria provocar l'error.
  • Implementació del sòcol: En alguns casos, un tipus particular d'implementació de sòcol provoca l'error. Hi ha un error amb algunes implementacions de l'aplicació '.NET' i pot provocar aquest error.
  • Falta el codi: Per a algunes persones que utilitzaven Entity Framework, es va observar que faltava una línia de codi determinada a causa de la qual s’estava desencadenant l’error.
  • Marc '.NET' obsolet: En certs casos, si s'ha desactivat el marc '.NET', es podria activar aquest error. Algunes tasques requereixen que el marc '.NET' s'actualitzi a l'última versió perquè funcionin correctament.

Ara que teniu una comprensió bàsica de la naturalesa del problema, continuarem cap a les solucions. Assegureu-vos d’implementar-los en l’ordre específic en què es presenten per evitar conflictes.

Solució 1: habilitar la criptografia

Si la criptografia s'ha desactivat per a la vostra màquina, l'ús de TLS 1.2 està prohibit. Per tant, en aquest pas, habilitarem la criptografia. Per això:



  1. Premeu ' Windows '+' R ”Per obrir el símbol Executa.
  2. Escriure 'Regedit' i premeu ' Entra '.

    Escrivint 'Regedit' i prement 'Retorn'

  3. Aneu a la següent adreça
    HKEY_LOCAL_MACHINE  SOFTWARE  Microsoft  .NETFramework  v4.0.3031

    Aneu a aquesta adreça si no hi ha cap ' SchUseStrongCrypto ”Al tauler dret.

    HKEY_LOCAL_MACHINE  SOFTWARE  Wow6432Node  Microsoft  .NETFramework  v4.0.30319
  4. Al tauler dret, feu doble clic a la icona ' SchUseStrongCrypto ”I introduïu“ 1 ”Com a dades de valor.

    Feu doble clic al valor 'SchUseStrongCrypto' al tauler dret

  5. Fer clic a ' D'acord ”Per desar els canvis i comprovar per veure si el problema persisteix.

Solució 2: forçar l’ús de TLS 1.2

Si l'aplicació s'ha configurat per utilitzar TLS 1.1 o TLS 1.0 en lloc de TLS 1.2, pot provocar aquest error. Per tant, en aquest pas, configurarem el nostre ordinador perquè utilitzi TLS 1.2. Per això:

  1. Aneu a l’arrel del lloc i feu clic amb el botó dret a la icona 'Global.asax' dossier.
  2. Selecciona ' Veure Codi ”De la llista.
  3. Hi hauria d’haver un “ Inici_aplicació ”, Afegiu la següent línia de codi a aquest mètode
    si (ServicePointManager.Protocol de seguretat.HasFlag(SecurityProtocolType.Tls12) == fals) SecurityProtocolType.Tls12;

    Afegir les línies al codi

  4. Desa els vostres canvis i comprovar per veure si el problema persisteix.

Solució 3: Canviar la implementació del sòcol

Si una determinada implementació de sòcol té un error o un error, pot evitar que determinats elements de l'aplicació funcionin correctament a causa dels quals es podria activar aquest error. Per tant, en aquest pas, el configurarem per utilitzar una implementació diferent. Per això:

  1. Assegureu-vos que teniu un ' StateObjec t ”classe amb“ public byte [] buffer = new byte [1024], socket public socket; '.
  2. Truca al ' Rebre (sòcols) ”I truqueu el següent codi a“ void ReceiveCallback (IAsyncResult ar) '
     SocketErrorcodi d'error; intnBytesRec=endoll.EndReceive(Amb, foracodi d'error); si (codi d'error! = SocketError.Èxit) {nBytesRec= 0; }
  3. Comproveu si el problema persisteix després d’implementar aquest codi.

Solució 4: afegir línies d’ordres (només per a Entity Framework)

Si utilitzeu Entity Framework, és possible que falti una línia de codi determinada. Per tant, en aquest pas afegirem aquesta línia de codi per solucionar aquest problema. Per això:

  1. Obre el teu ' .edmx 'I obriu el fitxer' .context.tt ”A sota.
  2. Obriu el ' .context.cs ”I afegiu la següent línia de codi al vostre constructor
    públic DBEntities() : base('name = DBEntities') { això.Configuració.ProxyCreationEnabled = fals; // AFEGEIX AQUESTA LÍNIA }
  3. Comproveu si el problema persisteix després d'afegir aquesta línia de codi.

Solució 5: Actualització de .NET Framework

Es requereix la versió més recent de Framework .NET perquè tot funcioni sense problemes. Per tant, en aquest pas, descarregarem la versió més recent del lloc i la instal·larem. Per això:

  1. Aneu a això enllaç per descarregar la configuració.
  2. Executeu el ' .exe ”Per iniciar el procés d’instal·lació.

    S'està executant l'executable descarregat de Microsoft

  3. Segueix les instruccions que apareixen a la pantalla per instal·lar l’aplicació al vostre ordinador.
  4. Comprovar per veure si el problema persisteix després de completar la instal·lació.
3 minuts de lectura