Ako opraviť chybu „Existujúce pripojenie bolo násilne zatvorené vzdialeným hostiteľom“?



Vyskúšajte Náš Nástroj Na Odstránenie Problémov

Vzdialený počítač je počítač, ktorý nemá fyzickú prítomnosť; je prístupný iba prostredníctvom akejsi počítačovej siete. Vzdialený hostiteľ je počítač hostiaci sieť, ktorý je hostiteľom vzdialeného počítača, a vzdialený klient je používateľ vzdialeného klienta v sieti. Táto vlastnosť priniesla revolúciu v mnohých procesoch a má veľký rozsah aj v budúcnosti.



Existujúce pripojenie bolo vynútene uzavreté chybou miestneho hostiteľa



Avšak pomerne nedávno prichádza veľa správ o „ existujúce pripojenie bolo vzdialeným hostiteľom násilne uzavreté ”Chyba pri pokuse o pripojenie k vzdialenému hostiteľovi. Táto chyba sa spúšťa pri soketovom pripojení medzi klientom a serverom. V tomto článku ponúkneme niekoľko uskutočniteľných riešení na úplné odstránenie tejto chyby a tiež vás informujeme o dôvodoch, ktoré spôsobujú túto chybu.



Čo spôsobuje chybu „Existujúce pripojenie bolo násilne uzavreté vzdialeným hostiteľom“ v systéme Windows?

Po prijatí mnohých správ od viacerých používateľov sme sa rozhodli problém preskúmať a navrhli sme súbor riešení, ktoré ho opravia. Pozreli sme sa tiež na dôvody, kvôli ktorým sa spúšťa, a uviedli sme ich nižšie.

  • Použitie protokolu TLS 1.1 / 1.0: Ak je aplikácia spustená na protokole TLS 1.1 alebo TLS 1.0, môže túto chybu spustiť z dôvodu znehodnotenia. TLS 1.2 je spôsob, ako postupovať pri výbere protokolu, ktorý aplikácia používa.
  • Kryptografia zakázaná: Ak je pre váš počítač vypnutá kryptografia, zabráni to použitiu protokolu TLS 1.2 a spadne späť na protokol TLS 1.0, ktorý by mohol spôsobiť chybu.
  • Implementácia zásuvky: V niektorých prípadoch konkrétny typ implementácie soketu spúšťa chybu. V niektorých implementáciách aplikácie „.NET“ je chyba, ktorá by mohla spôsobiť túto chybu.
  • Chýbajúci kód: U niektorých ľudí, ktorí používali Entity Framework, sa zistilo, že chýba určitý riadok kódu, kvôli ktorému sa chyba spúšťala.
  • Zastaraný rámec „.NET“: V určitých prípadoch, ak bol rámec „.NET“ zakázaný, sa môže vyskytnúť táto chyba. Niektoré úlohy si vyžadujú, aby bol rámec „.NET“ aktualizovaný na najnovšiu verziu, aby správne fungoval.

Teraz, keď máte základné znalosti o podstate problému, prejdeme k riešeniam. Nezabudnite ich implementovať v konkrétnom poradí, v akom sú predložené, aby ste predišli konfliktom.

Riešenie 1: Povolenie kryptografie

Ak je pre váš počítač vypnutá kryptografia, použitie protokolu TLS 1.2 je zakázané. V tomto kroku preto povolíme kryptografiu. Pre to:



  1. Stlačte „ Windows „+“ R ”Na otvorenie výzvy Spustiť.
  2. Zadajte „Regedit“ a stlačte „ Zadajte „.

    Zadaním výrazu „Regedit“ a stlačením klávesu „Enter“

  3. Prejdite na nasledujúcu adresu
    HKEY_LOCAL_MACHINE  SOFTWARE  Microsoft  .NETFramework  v4.0.3031

    Prejdite na túto adresu, ak nie je „ SchUseStrongCrypto ”V pravej časti okna.

    HKEY_LOCAL_MACHINE  SOFTWARE  Wow6432Node  Microsoft  .NETFramework  v4.0.30319
  4. Na pravej table dvakrát kliknite na ikonu „ SchUseStrongCrypto ”A zadajte“ 1 ”Ako Údaj hodnoty.

    Dvakrát kliknite na hodnotu „SchUseStrongCrypto“ v pravej časti okna

  5. Kliknite na ' Ok ”Aby ste uložili zmeny a skontrolovať či problém pretrváva.

Riešenie 2: Vynútenie používania protokolu TLS 1.2

Ak bola aplikácia nakonfigurovaná na používanie protokolu TLS 1.1 alebo TLS 1.0 namiesto protokolu TLS 1.2, mohla by túto chybu spustiť. Preto v tomto kroku nakonfigurujeme náš počítač tak, aby používal protokol TLS 1.2. Pre to:

  1. Prejdite na koreň stránky a kliknite pravým tlačidlom myši na ikonu „Global.asax“ spis.
  2. Vyberte „ vyhliadka Zákonníka ”Zo zoznamu.
  3. Mala by existovať Application_Start ”, Pridajte do tejto metódy nasledujúci riadok kódu
    ak (ServicePointManager.SecurityProtocol.HasFlag(SecurityProtocolType.Tls12) == nepravdivé) SecurityProtocolType.Tls12;

    Pridanie riadkov do kódu

  4. Uložiť vaše zmeny a skontrolovať či problém pretrváva.

Riešenie 3: Zmena implementácie soketu

Ak má určitá implementácia soketu chybu alebo poruchu, mohlo by to zabrániť správnemu fungovaniu určitých prvkov aplikácie, kvôli čomu by sa mohla spustiť táto chyba. Preto ho v tomto kroku nakonfigurujeme tak, aby používal inú implementáciu. Pre to:

  1. Uistite sa, že máte StateObjec trieda t s „ verejný bajt [] vyrovnávacia pamäť = nový bajt [1024], verejná zásuvka zásuvky; „.
  2. Zavolajte na Príjem (zásuvky) ”A zavolajte na nasledujúci kód v„ void ReceiveCallback (IAsyncResult ar)
     SocketErrorkód chyby; intnBytesRec=zásuvka.Koniec(S, vonkód chyby); ak (kód chyby! = SocketError.Úspech) {nBytesRec= 0; }
  3. Skontrolujte, či problém pretrváva aj po implementácii tohto kódu.

Riešenie 4: Pridanie príkazových riadkov (iba pre Entity Framework)

Ak používate Entity Framework, je možné, že určitý riadok kódu môže chýbať. Preto v tomto kroku pridáme tento riadok kódu, aby sme tento problém vyriešili. Pre to:

  1. Otvor tvoj ' .edmx Súbor a otvorte .text.tt ”Súbor pod ním.
  2. Otvor ' .context.cs ”A pridajte nasledujúci riadok kódu do svojho konštruktora
    verejné DBEntities() : základňa('name = DBEntities') { toto.Konfigurácia.ProxyCreationEnabled = nepravdivé; // PRIDAJTE TENTO RIADOK! }
  3. Po pridaní tohto riadku kódu skontrolujte, či problém pretrváva.

Riešenie 5: Aktualizácia .NET Framework

Pre bezproblémové fungovanie systému je potrebná najnovšia verzia rozhrania „.NET“. Preto v tomto kroku stiahneme z webu najnovšiu verziu a nainštalujeme ju. Pre to:

  1. Prejdite na toto odkaz na stiahnutie nastavenia.
  2. Vykonajte „ .exe ”Na spustenie procesu inštalácie.

    Spustenie spustiteľného súboru stiahnutého z Microsoftu

  3. Postupujte podľa pokynov na obrazovke nainštalujte aplikáciu do počítača.
  4. Skontrolujte aby ste zistili, či problém pretrváva aj po dokončení inštalácie.
3 minúty prečítané