¿Cómo corregir el error 'Una conexión existente fue cerrada por la fuerza por el host remoto'?



Pruebe Nuestro Instrumento Para Eliminar Los Problemas

Una computadora remota es aquella que no tiene presencia física; sólo se puede acceder a él a través de algún tipo de red informática. El host remoto es la computadora que aloja la red que aloja la computadora remota y el cliente remoto es el usuario del cliente remoto en la red. Esta característica ha revolucionado muchos procesos y también tiene un gran alcance en el futuro.



Una conexión existente se cerró a la fuerza por el error del host local



Sin embargo, recientemente, se han recibido muchos informes de ' una conexión existente fue cerrada por la fuerza por el host remoto ”Error al intentar conectarse al host remoto. Este error se desencadena con una conexión de socket entre un cliente y un servidor. En este artículo, proporcionaremos algunas soluciones viables para rectificar completamente este error y también le informaremos de las razones que desencadenan este error.



¿Qué causa el error 'Una conexión existente fue cerrada por la fuerza por el host remoto' en Windows?

Después de recibir numerosos informes de varios usuarios, decidimos investigar el problema e ideamos un conjunto de soluciones para solucionarlo. Además, analizamos las razones por las que se activa y las enumeramos a continuación.

  • Uso de TLS 1.1 / 1.0: Si la aplicación se ejecuta en TLS 1.1 o TLS 1.0, podría desencadenar este error debido a su depreciación. TLS 1.2 es el camino a seguir al seleccionar el protocolo que utiliza la aplicación.
  • Criptografía deshabilitada: Si la criptografía se ha desactivado para su máquina, evitará el uso de TLS 1.2 y recurrirá a TLS 1.0, lo que podría desencadenar el error.
  • Implementación de socket: En algunos casos, un tipo particular de implementación de socket desencadena el error. Hay un error con algunas implementaciones de la aplicación '.NET' y puede causar este error.
  • Código faltante: Para algunas personas que estaban usando Entity Framework, se observó que faltaba una determinada línea de código debido a la cual se activaba el error.
  • Marco '.NET' obsoleto: En ciertos casos, si se deshabilitó el marco “.NET”, este error podría activarse. Ciertas tareas requieren que el marco “.NET” se actualice a la última versión para que funcionen correctamente.

Ahora que tiene una comprensión básica de la naturaleza del problema, avanzaremos hacia las soluciones. Asegúrese de implementarlos en el orden específico en el que se presentan para evitar conflictos.

Solución 1: Habilitación de la criptografía

Si se ha desactivado la criptografía para su máquina, el uso de TLS 1.2 está prohibido. Por lo tanto, en este paso, habilitaremos la criptografía. Para eso:



  1. Prensa ' Ventanas ” + “ R ”Para abrir el indicador Ejecutar.
  2. Escribir 'Regedit' y presione ' Entrar “.

    Escribiendo 'Regedit' y presionando 'Enter'

  3. Navega a la siguiente dirección
    HKEY_LOCAL_MACHINE  SOFTWARE  Microsoft  .NETFramework  v4.0.3031

    Navegue a esta dirección si no hay ' SchUseStrongCrypto ”Valor en el panel derecho.

    HKEY_LOCAL_MACHINE  SOFTWARE  Wow6432Node  Microsoft  .NETFramework  v4.0.30319
  4. En el panel derecho, haga doble clic en ' SchUseStrongCrypto 'Opción e introduzca' 1 ”Como datos de valor.

    Haga doble clic en el valor 'SchUseStrongCrypto' en el panel derecho

  5. Haga clic en ' Okay 'Para guardar los cambios y cheque para ver si el problema persiste.

Solución 2: Forzar el uso de TLS 1.2

Si la aplicación se ha configurado para usar TLS 1.1 o TLS 1.0 en lugar de TLS 1.2, puede desencadenar este error. Por lo tanto, en este paso, configuraremos nuestra computadora para usar TLS 1.2. Para eso:

  1. Navegue hasta la raíz del sitio y haga clic derecho en el 'Global.asax' archivo.
  2. Seleccione ' Ver Código ' de la lista.
  3. Debería haber un ' Application_Start ', Agregue la siguiente línea de código a ese método
    Si (ServicePointManager.Protocolo de seguridad.HasFlag(SecurityProtocolType.Tls12) == falso) SecurityProtocolType.Tls12;

    Agregar las líneas al código

  4. Salvar tus cambios y cheque para ver si el problema persiste.

Solución 3: cambio de implementación de socket

Si una determinada implementación de socket tiene un error o falla, puede evitar que ciertos elementos de la aplicación funcionen correctamente debido a que este error podría desencadenarse. Por lo tanto, en este paso, lo configuraremos para usar una implementación diferente. Para eso:

  1. Asegúrese de tener un ' StateObjec t 'clase con' byte público [] búfer = nuevo byte [1024], socket de socket público; “.
  2. Llama a ' Recibir (Socket s) 'Función y llame al siguiente código en' anular ReceiveCallback (IAsyncResult ar)
     Error de socketcódigo de error; En tnBytesRec=enchufe.EndReceive(Con, afueracódigo de error); Si (código de error!= Error de socket.Éxito) {nBytesRec= 0; }
  3. Verifique si el problema persiste después de implementar este código.

Solución 4: Agregar líneas de comando (solo para Entity Framework)

Si está utilizando Entity Framework, es posible que falte una determinada línea de código. Por lo tanto, en este paso, agregaremos esa línea de código para solucionar este problema. Para eso:

  1. Abre tu ' .edmx 'Archivo y abra el' .context.tt ”Archivo debajo de él.
  2. Abre el ' .context.cs ”Y agregue la siguiente línea de código a su constructor
    público DBEntities() : base('nombre = DBEntities') { esta.Configuración.ProxyCreationEnabled = falso; // ¡AÑADIR ESTA LÍNEA! }
  3. Verifique si el problema persiste después de agregar esta línea de código.

Solución 5: Actualización de .NET Framework

Se requiere la última versión del Framework “.NET” para que todo funcione sin problemas. Por lo tanto, en este paso, descargaremos la última versión del sitio y la instalaremos. Para eso:

  1. Navegar a esta enlace para descargar la configuración.
  2. Ejecute el ' .exe ”Para iniciar el proceso de instalación.

    Ejecutando el ejecutable descargado de Microsoft

  3. Seguir las instrucciones en pantalla para instalar la aplicación en su computadora.
  4. Cheque para ver si el problema persiste después de completar la instalación.
3 minutos de lectura