Ako opraviť & lsquo; Existujúce pripojenie bolo násilne zatvorené vzdialeným hostiteľom & rsquo; Chyba?

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.

Avšak pomerne nedávno prichádzalo veľa správ o chybe „ existujúce pripojenie bolo násilne zatvorené vzdialeným hostiteľom “ 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, pre ktoré sa spúšťa, a uviedli sme ich nižšie.

  • Používanie 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 bola 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 soketu : V niektorých prípadoch chybu spustí konkrétny typ implementácie soketu. 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ý, môže sa vyskytnúť táto chyba. Niektoré úlohy vyžadujú, aby bol rámec „.NET“ aktualizovaný na najnovšiu verziu, aby mohli správne fungovať.

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čením klávesov „ Windows “ + „ R “ otvorte výzvu Spustiť.
  2. Zadajte „regedit“ a stlačte „ Enter “.
  3. Prejdite na nasledujúcu adresu
    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework \ v4.0.3031

    Prejdite na túto adresu, ak v pravej časti okna nie je hodnota „ SchUseStrongCrypto “.

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ .NETFramework \ v4.0.30319
  4. Na pravej table dvakrát kliknite na možnosť „ SchUseStrongCrypto “ a ako údaj hodnoty zadajte „ 1 “.
  5. Kliknutím na „ OK “ uložte zmeny a skontrolujte, či problém pretrváva.

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

Ak bola aplikácia nakonfigurovaná na použitie 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 súbor „global.asax“ .
  2. V zozname vyberte možnosť „ Zobraziť kód “.
  3. Mala by existovať metóda „ Application_Start “, k tejto metóde pridajte nasledujúci riadok kódu
    if (ServicePointManager. SecurityProtocol. HasFlag (SecurityProtocolType. Tls12) == false) SecurityProtocolType. Tls12;              
  4. Uložte zmeny a skontrolujte, či problém pretrváva.

Riešenie 3: Zmena implementácie soketu

Ak má určitá implementácia zásuvky 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 triedu „ StateObjec t“ s „ verejným bajtom [] medzipamäť = nový bajt [1024], verejná zásuvka Socket; „.
  2. Zavolajte funkciu „ Receive (Socket s) “ a zavolajte nasledujúci kód v „ void ReceiveCallback (IAsyncResult ar)
     SocketError errorCode ; int nBytesRec = socket . EndReceive ( ar , out errorCode ); if ( errorCode != SocketError . Success ) { 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. Otvorte súbor „ .edmx “ a otvorte súbor „ .context.tt “ pod ním.
  2. Otvorte súbor „ .context.cs “ a do svojho konštruktora pridajte nasledujúci riadok kódu
     public DBEntities () : base ( "name=DBEntities" ) { this . Configuration . ProxyCreationEnabled = false ; // ADD THIS LINE ! } 
  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 tento odkaz a stiahnite si nastavenie.
  2. Spustite súbor „ .exe “, aby ste mohli spustiť proces inštalácie.
  3. Postupujte podľa pokynov na obrazovke pre inštaláciu aplikácie v počítači.
  4. Skontrolujte, či problém pretrváva aj po dokončení inštalácie.

Odporúčaná

Oprava: Minecraft neodpovedá
Čo je aplikácia na registráciu zariadenia digitálneho televízneho prijímača a mala by byť odstránená?
Čo je FileRepMalware a mali by ste ho odstrániť